MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBにjsonデータの内部値を取得する方法はありますか?


JSONデータの内部値を取得するには、find()とdot(。)表記を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo235.insertOne(
...   {
...      "id":101,
...      "details":[
...         {
...            "Name":"Chris Brown",
...            "Age":21
...         },
...         {
...            "Name":"David Miller",
...            "Age":24
...         }
...      ],
...      "otherdetails":[
...         {
...            "Score":56,
...            "Subject":"MongoDB"
...         },
...         {
...            "Score":78,
...            "Subject":"MySQL"
...         }
...      ]
...   }
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e418d22f4cebbeaebec514b")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo235.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5e418d22f4cebbeaebec514b"),
   "id" : 101,
   "details" : [
      {
         "Name" : "Chris Brown",
         "Age" : 21
      },
      {
         "Name" : "David Miller",
         "Age" : 24
      }
   ],
   "otherdetails" : [
      {
         "Score" : 56,
         "Subject" : "MongoDB"
      },
      {
         "Score" : 78,
         "Subject" : "MySQL"
      }
   ]
}

以下は、jsonデータの内部値を取得するためのクエリです-

> db.demo235.find({},{"otherdetails.Subject":1,_id:0});

これにより、次の出力が生成されます-

{ "otherdetails" : [ { "Subject" : "MongoDB" }, { "Subject" : "MySQL" } ] }

  1. 2つの日付の間で、MongoDBの特定の値を使用してデータをフェッチします。グループ化して、カウントで合計を取得しますか?

    一致させるには、MongoDBで$ matchを使用し、2つの日付の間のデータを取得するには、$gteと$lteを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo560.insertOne({"value1":40,"value2":40,shippingDate:new ISODate("2020-02-26")});{    "acknowledged" : true, "insertedId" : ObjectId("

  2. MySQLのフィールドの最小値を取得する方法はありますか?

    はい、MySQLのLEAST()関数を使用できます- select least(yourColumnName1,yourColumnName2,...N) from yourTableName; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Date1 date,    -> Date2 date,    -> Date3 date    -> ); Query OK, 0 rows