ในการดึงข้อมูลองค์ประกอบเฉพาะ ให้วนซ้ำด้วย forEach() ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo742.insertOne({ "userDetails":[ { "userName":"Robert", "CountryName":"UK" }, { "userName":"David", "CountryName":"AUS" } ]} );{ "รับทราบ" :จริง "insertedId" :ObjectId("5ead790b57bb72a10bcf0677")}
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo742.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5ead790b57bb72a10bcf0677"), "userDetails" :[ { "userName" :"Robert", "CountryName" :"UK" }, { "userName" :"David", "CountryName" :"AUS" } ]}
ต่อไปนี้เป็นแบบสอบถามเพื่อรับองค์ประกอบจากอาร์เรย์ -
<ก่อนหน้า>> var ListOfCountryName={};> db.demo742.find({}).forEach(function(doc) {... doc.userDetails.forEach(function (d){... ListOfCountryName[d.CountryName] ] =d.CountryName;... });... }... )> printjson(ListOfCountryName);สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "UK" :"UK", "AUS" :"AUS" }