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

MongoDBのネストされたJSON配列から値を取得しますか?


ネストされたJSON配列から値を取得するには、次の構文を使用できます-

db.yourCollectionName.find({"yourOuterFieldName.yourInnerFieldName.yourNextInnerFieldName…...N": "yourValue"}).pretty();

まず、ドキュメントを使用してコレクションを作成しましょう-

> db.nestedJSONArrayDemo.insertOne({
...    "ClientDetails" :
...    {
...       "ClientPersonalDetails" : [
...          { "CountryName" : "US" },
...          { "CountryName" : "AUS"},
...          { "ClientName":"Chris" },
...          { "ClientName":"David" }
...       ]
...    }
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2cbb2b64f4b851c3a13bc")
}
> db.nestedJSONArrayDemo.insertOne({
...    "ClientDetails" :
...    {
...       "ClientPersonalDetails" : [
...          { "CountryName" : "Belgium" },
...          { "CountryName" : "Canada"},
...          { "CountryName" : "Egypt"},
...       ]
...    }
... });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd2cc14b64f4b851c3a13bd")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

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

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

{
   "_id" : ObjectId("5cd2cbb2b64f4b851c3a13bc"),
   "ClientDetails" : {
      "ClientPersonalDetails" : [
         {
            "CountryName" : "US"
         },
         {
            "CountryName" : "AUS"
         },
         {
            "ClientName" : "Chris"
         },
         {
            "ClientName" : "David"
         }
      ]
   }
}
{
   "_id" : ObjectId("5cd2cc14b64f4b851c3a13bd"),
   "ClientDetails" : {
      "ClientPersonalDetails" : [
         {
            "CountryName" : "Belgium"
         },
         {
            "CountryName" : "Canada"
         },
         {
            "CountryName" : "Egypt"
         }
      ]
   }
}

以下は、MongoDBのネストされたJSON配列から値を取得するためのクエリです-

> db.nestedJSONArrayDemo.find({"ClientDetails.ClientPersonalDetails.CountryName": "Canada"}).pretty();

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

{
   "_id" : ObjectId("5cd2cc14b64f4b851c3a13bd"),
   "ClientDetails" : {
      "ClientPersonalDetails" : [
         {
            "CountryName" : "Belgium"
         },
         {
            "CountryName" : "Canada"
         },
         {
            "CountryName" : "Egypt"
         }
      ]
   }
}

  1. MongoDBコレクションからデータを取得しますか?

    コレクションから単一のドキュメントを返すには、MongoDBでfindOne()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo463.insertOne({"StudentName":"Chris Brown","StudentAge":21,"StudentCountryName":"US"});{    "acknowledged" : true,    "insertedId

  2. ネストされた配列をソートするMongoDBクエリ?

    MongoDBでネストされた配列を並べ替えるには、$sortを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo505.insertOne( ... { ...    "details": [ ...    { ...       Name:"Chris", ...       "Score":58 ...    }, { ... ...