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