आइए दो मामलों के आसपास काम करते हैं:
केस 1 - जब फ़ील्ड मौजूद है और null पर सेट है, तो सिंटैक्स इस प्रकार है:
db.yourCollectionName.count({yourFieldName: null});
केस 2 - जब फ़ील्ड मौजूद नहीं है और सेट नहीं है, तो सिंटैक्स इस प्रकार है:
db.yourCollectionName.count({yourFieldName: {$exists: false}});
उपरोक्त दोनों सिंटैक्स को समझने के लिए, एक दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है:
> db.fieldIsNullOrNotSetDemo.insertOne({"EmployeeName":"Larry","EmployeeAge":null,"EmployeeSalary":18500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a995c6cea1f28b7aa07fe") } > db.fieldIsNullOrNotSetDemo.insertOne({"EmployeeName":"Bob","EmployeeAge":21,"EmployeeSalary":23500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a99836cea1f28b7aa07ff") } > db.fieldIsNullOrNotSetDemo.insertOne({"EmployeeName":"Carol","EmployeeSalary":45500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a999b6cea1f28b7aa0800") } > db.fieldIsNullOrNotSetDemo.insertOne({"EmployeeName":"Mike","EmployeeAge":null,"EmployeeSalary":45500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a99bb6cea1f28b7aa0801") } > db.fieldIsNullOrNotSetDemo.insertOne({"EmployeeName":"Ramit","EmployeeSalary":85500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a99d76cea1f28b7aa0802") }
find() विधि की मदद से संग्रह से सभी दस्तावेज़ प्रदर्शित करें। क्वेरी इस प्रकार है:
> db.fieldIsNullOrNotSetDemo.find().pretty();
आउटपुट निम्न है:
{ "_id" : ObjectId("5c8a995c6cea1f28b7aa07fe"), "EmployeeName" : "Larry", "EmployeeAge" : null, "EmployeeSalary" : 18500 } { "_id" : ObjectId("5c8a99836cea1f28b7aa07ff"), "EmployeeName" : "Bob", "EmployeeAge" : 21, "EmployeeSalary" : 23500 } { "_id" : ObjectId("5c8a999b6cea1f28b7aa0800"), "EmployeeName" : "Carol", "EmployeeSalary" : 45500 } { "_id" : ObjectId("5c8a99bb6cea1f28b7aa0801"), "EmployeeName" : "Mike", "EmployeeAge" : null, "EmployeeSalary" : 45500 } { "_id" : ObjectId("5c8a99d76cea1f28b7aa0802"), "EmployeeName" : "Ramit", "EmployeeSalary" : 85500 }
केस 1 - फ़ील्ड EmployeeAge मौजूद है और null पर सेट है।
क्वेरी इस प्रकार है:
> db.fieldIsNullOrNotSetDemo.count({EmployeeAge: null});
आउटपुट निम्न है:
4
केस 2 - फ़ील्ड 'EmployeeAge' मौजूद नहीं है और सेट नहीं है। क्वेरी इस प्रकार है:
> db.fieldIsNullOrNotSetDemo.count({EmployeeAge: {$exists: false}});
आउटपुट निम्न है:
2