ตรวจสอบฟิลด์เฉพาะโดยใช้ MongoDB $exists หากไม่มีฟิลด์นั้นในเอกสาร คุณจะต้องแสดงเอกสารเดียวกันกับ find()
ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo612.insertOne({id:1,"Info":[{Name:"Chris",Age:21},{Name:"David"}]});{ "acknowledged" : true, "insertedId" : ObjectId("5e987372f6b89257f5584d87") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo612.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e987372f6b89257f5584d87"), "id" : 1, "Info" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David" } ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อดึงเอกสาร MongoDB ที่ไม่ประกอบด้วยฟิลด์เฉพาะ -
> db.demo612.aggregate({$unwind: "$Info"}, ... {$match: {"Info.Age":{$exists: false}}}, ... {$project: {"Info.Name": 1}})
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e987372f6b89257f5584d87"), "Info" : { "Name" : "David" } }