Computer >> Máy Tính >  >> Lập trình >> MongoDB

Truy vấn MongoDB để tìm một giá trị từ JSON như dữ liệu?

Để nạp một giá trị từ dữ liệu JSON, hãy sử dụng ký hiệu find () cùng với dấu chấm (.). Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

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

Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

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

Điều này sẽ tạo ra kết quả sau -

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

Sau đây là truy vấn để tìm một giá trị từ dữ liệu json -

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

Điều này sẽ tạo ra kết quả sau -

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