MongoDB में किसी फ़ील्ड की मौजूदगी जांचने के लिए $exists ऑपरेटर का उपयोग करें। यह ऑपरेटर उन दस्तावेज़ों को ढूंढता है जिनमें निर्दिष्ट फ़ील्ड मौजूद हो या न हो।
उदाहरण
कलेक्शन बनाएं और विभिन्न फ़ील्ड वाले दस्तावेज़ डालें:
> db.checkFieldExistsDemo.insertOne({"StudentFirstName":"John","StudentGender":"Male","StudentMongoDBScore":89});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909611a844af18acdffbd") }
> db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Emma","StudentGender":"Female","StudentMongoDBScore":58});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909781a844af18acdffbe") }
> db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Carol","StudentGender":"Male","StudentMongoDBScore":77});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909871a844af18acdffbf") }
> db.checkFieldExistsDemo.insertOne({"StudentFirstName":"David","StudentMongoDBScore":98});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd909a31a844af18acdffc0") }
सभी दस्तावेज़ देखें:
> db.checkFieldExistsDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cd909611a844af18acdffbd"), "StudentFirstName" : "John", "StudentGender" : "Male", "StudentMongoDBScore" : 89 }
{ "_id" : ObjectId("5cd909781a844af18acdffbe"), "StudentFirstName" : "Emma", "StudentGender" : "Female", "StudentMongoDBScore" : 58 }
{ "_id" : ObjectId("5cd909871a844af18acdffbf"), "StudentFirstName" : "Carol", "StudentGender" : "Male", "StudentMongoDBScore" : 77 }
{ "_id" : ObjectId("5cd909a31a844af18acdffc0"), "StudentFirstName" : "David", "StudentMongoDBScore" : 98 }
StudentGender फ़ील्ड न होने वाले दस्तावेज़ ढूंढें
> db.checkFieldExistsDemo.find(
{"StudentMongoDBScore":98, "StudentGender":{"$exists": false}},
{'StudentFirstName': 1, '_id':0}
);
आउटपुट:
{ "StudentFirstName" : "David" }
उपयोग:
{field: {$exists: true}}- फ़ील्ड मौजूद है{field: {$exists: false}}- फ़ील्ड मौजूद नहीं है
यह ऑपरेटर नल (null) मान वाले फ़ील्ड से अलग व्यवहार करता है - $exists: true नल मान वाले फ़ील्ड के लिए भी सही लौटाता है।