ในการเลือกเอกสารย่อยเฉพาะใน MongoDB ให้ใช้ find() ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo37.insertOne({"Details":[{"Name":"Chris","Age":21},{"Name":"David","Age":23}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e176635cfb11e5c34d898d7") } > db.demo37.insertOne({"Details":[{"Name":"Sam","Age":23},{"Name":"Robert","Age":25}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e17664acfb11e5c34d898d8") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo37.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e176635cfb11e5c34d898d7"), "Details" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David", "Age" : 23 } ] } { "_id" : ObjectId("5e17664acfb11e5c34d898d8"), "Details" : [ { "Name" : "Sam", "Age" : 23 }, { "Name" : "Robert", "Age" : 25 } ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกเอกสารย่อย -
> db.demo37.find({'Details.Name' : 'Sam'},{_id: 0, 'Details.$.Name': 1});
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "Details" : [ { "Name" : "Sam", "Age" : 23 } ] }