MongoDB में null या undefined मान वाले फील्ड वाले दस्तावेज़ों को बाहर करने के लिए, $ne (नॉट इक्वल) ऑपरेटर का उपयोग करें: { field: { $ne: null } }। यह null और अनुपस्थित फील्ड दोनों को फ़िल्टर करता है (लेकिन ध्यान दें: undefined BSON में संग्रहीत नहीं होता; यह जावास्क्रिप्ट में null बन जाता है)।
उदाहरण: मिश्रित मान वाले दस्तावेज़
> db.demo35.insertOne({"Name":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e175e42cfb11e5c34d898d0") }
> db.demo35.insertOne({"Name":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e175e46cfb11e5c34d898d1") }
> db.demo35.insertOne({"Name":"Bob"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e175e4bcfb11e5c34d898d2") }
> db.demo35.insertOne({"Name":undefined});
{ "acknowledged" : true, "insertedId" : ObjectId("5e175e54cfb11e5c34d898d3") }
दस्तावेज़ देखना
> db.demo35.find();
आउटपुट: "Chris", null, "Bob", undefined (null के रूप में संग्रहीत) वाले दस्तावेज़।
NULL/UNDEFINED को बाहर करने के लिए क्वेरी
> db.demo35.find({"Name": {$ne: null}});
आउटपुट:
{ "_id" : ObjectId("5e175e42cfb11e5c34d898d0"), "Name" : "Chris" }
{ "_id" : ObjectId("5e175e4bcfb11e5c34d898d2"), "Name" : "Bob" }
महत्वपूर्ण व्यवहार
{ field: { $ne: null } }उन दस्तावेज़ों से मेल खाता है जहां फील्ड मौजूद है और null नहीं है।- यह उन दस्तावेज़ों को भी बाहर करता है जहां फील्ड अनुपस्थित है (क्योंकि अनुपस्थित फील्ड क्वेरी उद्देश्यों के लिए null के बराबर माना जाता है)।
- केवल अनुपस्थित फील्ड वाले दस्तावेज़ों को शामिल करने के लिए (लेकिन null को बाहर करने के लिए), उपयोग करें:
{ field: { $exists: true, $ne: null } }। undefinedBSON प्रकार नहीं है; शेल के माध्यम से डाला गया यहnullबन जाता है।
अतिरिक्त: $exists के साथ स्पष्ट जांच
> db.demo35.find({ "Name": { $exists: true, $ne: null } });