MongoDB दस्तावेज़ में एलिमेंट मौजूद है या नहीं जांचने के लिए MongoDB $exists का उपयोग करें।
नमूना डेटा बनाना
> db.demo497.insertOne({"details":[{"Name":"Chris"},{"Name":"Bob"}]});
> db.demo497.insertOne({"details":[{"Name":"Carol"}]});
> db.demo497.insertOne({"details":[{}]});
सभी दस्तावेज़ देखना
> db.demo497.find();
{ "details" : [ { "Name" : "Chris" }, { "Name" : "Bob" } ] }
{ "details" : [ { "Name" : "Carol" } ] }
{ "details" : [ { } ] }
दस्तावेज़ में एलिमेंट मौजूद है या नहीं जांचने की क्वेरी
> db.demo497.find({$or:[
{"details.Name" : {$ne : "Carol"}},
{details: {$exists: false}}
] });
परिणाम:
{ "details" : [ { "Name" : "Chris" }, { "Name" : "Bob" } ] }
{ "details" : [ { } ] }
व्याख्या: क्वेरी दो शर्तों में से किसी एक से मेल खाती है: 1) details.Name "Carol" नहीं है, या 2) details फील्ड मौजूद नहीं है। पहला दस्तावेज़ Chris/Bob रखता है (Carol नहीं) - मेल खाता है। दूसरा दस्तावेज़ Carol रखता है - मेल नहीं खाता। तीसरा दस्तावेज़ खाली ऑब्जेक्ट रखता है (Name फील्ड नहीं) - $ne "Carol" से मेल खाता है क्योंकि Name मौजूद नहीं है।