ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":1, "StudentName":"Chris"}]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdfcf55bf3115999ed51206")
}
> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":2, "StudentName":"David"}]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdfcf55bf3115999ed51207")
} ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.queryForPartialObjectDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{
"_id" : ObjectId("5cdfcf55bf3115999ed51206"),
"StudentDetails" : [
{
"StudentId" : 1,
"StudentName" : "Chris"
}
]
}
{
"_id" : ObjectId("5cdfcf55bf3115999ed51207"),
"StudentDetails" : [
{
"StudentId" : 2,
"StudentName" : "David"
}
]
} แนวทางแรก
ต่อไปนี้เป็นแบบสอบถามสำหรับวัตถุบางส่วนในอาร์เรย์กับ MongoDB -
> db.queryForPartialObjectDemo.find({StudentDetails: {StudentId: 1, "StudentName" : "Chris"}}); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] } แนวทางที่สอง
ต่อไปนี้เป็นแบบสอบถามสำหรับวัตถุบางส่วนในอาร์เรย์ที่มีเครื่องหมายจุด -
> db.queryForPartialObjectDemo.find({"StudentDetails.StudentName":"Chris"}); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }