MongoDB में उन डॉक्यूमेंट को खोजने के लिए जिनमें विशेष फील्ड **मौजूद नहीं है**, $exists ऑपरेटर को false के साथ उपयोग करें।
सिंटैक्स
db.yourCollectionName.find({"yourFieldName": {$exists: false}}).pretty();
उदाहरण से समझें
एक कलेक्शन बनाकर डॉक्यूमेंट इन्सर्ट करते हैं - कुछ में UserFavouriteSubject फील्ड है, कुछ में नहीं:
> db.findDocumentDoNotHaveCertainFields.insertOne({"UserId": 101, "UserName": "John", "UserAge": 21});
> db.findDocumentDoNotHaveCertainFields.insertOne({"UserName": "David", "UserAge": 22, "UserFavouriteSubject": ["C", "Java"]});
> db.findDocumentDoNotHaveCertainFields.insertOne({"UserName": "Bob", "UserAge": 24, "UserFavouriteSubject": ["MongoDB", "MySQL"]});
सभी डॉक्यूमेंट देखने के लिए:
> db.findDocumentDoNotHaveCertainFields.find().pretty();
आउटपुट:
अब
UserFavouriteSubjectफील्ड **न होने वाले** डॉक्यूमेंट खोजें:> db.findDocumentDoNotHaveCertainFields.find({"UserFavouriteSubject": {$exists: false}}).pretty();आउटपुट:
केवल जॉन का डॉक्यूमेंट मिला जिसमें
UserFavouriteSubjectफील्ड नहीं है।नोट:
{$exists: false}फील्ड गायब होने पर मैच करता है,nullवैल्यू होने पर नहीं।nullचेक के लिए{$eq: null}उपयोग करें।