ใช้ Dot Notation เข้าถึงฟิลด์ย่อย
เมื่อข้อมูลเป็น nested object สามารถคิวรี่ได้โดยใช้ dot notation parentField.childField
ตัวอย่าง
สร้างคอลเลกชัน queryBySubFieldDemo ที่มี nested object:
> db.queryBySubFieldDemo.insertOne({
"StudentPersonalDetails": {"StudentName": "John", "StudentHobby": "Photography"},
"StudentScores": {"MathScore": 56}
});
> db.queryBySubFieldDemo.insertOne({
"StudentPersonalDetails": {"StudentName": "Chris", "StudentHobby": "Reading"},
"StudentScores": {"MathScore": 97}
});
ค้นหาที่ StudentName = "Chris"
> db.queryBySubFieldDemo.find({"StudentPersonalDetails.StudentName": "Chris"}).pretty();
ผลลัพธ์:
{
"_id" : ObjectId("..."),
"StudentPersonalDetails" : { "StudentName" : "Chris", "StudentHobby" : "Reading" },
"StudentScores" : { "MathScore" : 97 }
}
Dot notation ใช้ได้ทั้งใน find(), update(), aggregation และการ projection