หากต้องการค้นหาไฟล์ย่อยใน MongoDB คุณสามารถใช้เครื่องหมายคำพูดคู่พร้อมกับเครื่องหมายจุด ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.searchSubFieldDemo.insertOne( ... { ... "UserDetails": ... {"UserEmailId":"[email protected]","UserAge":21} ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5cd3d909edc6604c74817ce2") } > db.searchSubFieldDemo.insertOne( { "UserDetails": {"UserEmailId":"[email protected]","UserAge":26} } ); { "acknowledged" : true, "insertedId" : ObjectId("5cd3d9a4edc6604c74817ce3") }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.searchSubFieldDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cd3d909edc6604c74817ce2"), "UserDetails" : { "UserEmailId" : "[email protected]", "UserAge" : 21 } } { "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "[email protected]", "UserAge" : 26 } }
ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาฟิลด์ย่อยบน MongoDB -
> db.searchSubFieldDemo.find({"UserDetails.UserEmailId":"[email protected]"});
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cd3d9a4edc6604c74817ce3"), "UserDetails" : { "UserEmailId" : "[email protected]", "UserAge" : 26 } }