ในการตรวจสอบว่าฟิลด์ใน MongoDB เป็น [] หรือ {} คุณสามารถใช้ไวยากรณ์ต่อไปนี้ -
db.yourCollectionName.find({ "yourOuterFieldName": { "$gt": {} }, "yourOuterFieldName.0": { "$exists": false } });
ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.checkFieldDemo.insert([ ... { _id: 1010, StudentDetails: {} }, ... { _id: 1011, StudentDetails: [ { StudentId: 1 } ] }, ... { _id: 1012, StudentDetails: [ {} ] }, ... { _id: 1013 }, ... { _id: 1014, StudentDetails: null}, ... { _id: 1015, StudentDetails: { StudentId: 1 } } ... ]); BulkWriteResult({ "writeErrors" : [ ], "writeConcernErrors" : [ ], "nInserted" : 6, "nUpserted" : 0, "nMatched" : 0, "nModified" : 0, "nRemoved" : 0, "upserted" : [ ] })
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.checkFieldDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 1010, "StudentDetails" : { } } { "_id" : 1011, "StudentDetails" : [ { "StudentId" : 1 } ] } { "_id" : 1012, "StudentDetails" : [ { } ] } { "_id" : 1013 } { "_id" : 1014, "StudentDetails" : null } { "_id" : 1015, "StudentDetails" : { "StudentId" : 1 } }
ต่อไปนี้เป็นแบบสอบถามเพื่อตรวจสอบว่าเขตข้อมูลใน MongoDB เป็น [] หรือ {} −
> db.checkFieldDemo.find({ ... "StudentDetails": { "$gt": {} }, ... "StudentDetails.0": { "$exists": false } ... });
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : 1015, "StudentDetails" : { "StudentId" : 1 } }