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