從類似 JSON 的資料中查詢值的方法是什麼?


要從 JSON 資料中查詢值,請在 find() 中使用點(.)符號格式。我們先建立一個包含文件的集合 -

> db.findValueFromJsonDemo.insertOne(
   {
      "UserDetails": [{
         "_id": new ObjectId(),
         "UserName": "Carol",
         "UserMessage": "Hi"
      }],
      "UserFriendsName": ["John","Sam"]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdf8a4cbf3115999ed511fd")
}

以下查詢可使用 find() 方法顯示集合中的所有文件 -

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

這將產生以下輸出 -

{
   "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"),
   "UserDetails" : [
      {
         "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"),
         "UserName" : "Carol",
         "UserMessage" : "Hi"
      }
   ],
   "UserFriendsName" : [
      "John",
      "Sam"
   ]
}

以下查詢可從 JSON 資料中查詢值 -

> db.findValueFromJsonDemo.find({'UserDetails.UserMessage': "Hi"});

這將產生以下輸出 -

{
   "_id" : ObjectId("5cdf8a4cbf3115999ed511fd"),
   "UserDetails" : [
      {
         "_id" : ObjectId("5cdf8a4cbf3115999ed511fc"), "UserName" : "Carol", "UserMessage" : "Hi"
      }
   ],
   "UserFriendsName" : [
      "John", "Sam"
   ]
}

更新於: 2019 年 7 月 30 日

4K+ 瀏覽量

開啟你的 職業生涯

透過完成課程取得認證

開始
廣告
© . All rights reserved.