ในการเติมมูลค่าจากข้อมูล 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" ] }