เพื่อค้นหาค่าที่ซ้อนอยู่ในเอกสาร ให้ใช้ Double Underscore (__) ใน find()
สร้างคอลเลกชันพร้อมเอกสารที่มีฟิลด์ซ้อน __StudentName ภายใน Information:
> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Smith"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f39125ddae1f53b621f0") }
> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Doe"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f39e25ddae1f53b621f1") }
> db.nestedDemo.insertOne({"Information":{"__StudentName":"Chris Brown"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e06f3a625ddae1f53b621f2") }
แสดงเอกสารทั้งหมด:
> db.nestedDemo.find().pretty();
ผลลัพธ์:
คำสั่งค้นหาเอกสารที่ Information.__StudentName = "John Doe":
> db.nestedDemo.find({"Information.__StudentName":"John Doe"});ผลลัพธ์ - ได้เฉพาะเอกสารที่มี John Doe: