從 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"
         }
      ]
   }
}

更新於: 30-7-2019

1K+ 次瀏覽

開啟你的職業

完成課程認證

開始
廣告