Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

การเข้าถึงอิลิเมนต์เฉพาะในอาร์เรย์ของ MongoDB ด้วย forEach

ใช้ 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" }