MongoDB में $type ऑपरेटर से null वैल्यू चेक करना
MongoDB में किसी फील्ड में null वैल्यू है या नहीं, यह जांचने के लिए $type ऑपरेटर का उपयोग करें। BSON टाइप 10 null को दर्शाता है।
उदाहरण: null वैल्यू वाले डॉक्यूमेंट्स बनाना
> db.nullDemo.insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc68a1eac184d684e3fa270") }
> db.nullDemo.insertOne({"FirstName":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc68a25ac184d684e3fa271") }
> db.nullDemo.insertOne({"FirstName":"Robert"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cc68a2cac184d684e3fa272") }
सभी डॉक्यूमेंट्स देखना
> db.nullDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cc68a1eac184d684e3fa270"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5cc68a25ac184d684e3fa271"), "FirstName" : null }
{ "_id" : ObjectId("5cc68a2cac184d684e3fa272"), "FirstName" : "Robert" }
null वैल्यू वाले डॉक्यूमेंट्स खोजना
> db.nullDemo.find( { FirstName: { $type: 10 } } );
आउटपुट:
{ "_id" : ObjectId("5cc68a25ac184d684e3fa271"), "FirstName" : null }
महत्वपूर्ण बिंदु:
$type: 10केवल उन्हीं डॉक्यूमेंट्स को मैच करता है जहां फील्ड की वैल्यू स्पष्ट रूप सेnullहै- यह उन डॉक्यूमेंट्स को मैच नहीं करता जहां फील्ड मौजूद ही नहीं है
- फील्ड मौजूद नहीं है यह जांचने के लिए
{ $exists: false }का उपयोग करें - MongoDB में null और अनुपस्थित फील्ड में अंतर होता है
अन्य उपयोगी टाइप कोड्स:
- 1 - Double
- 2 - String
- 3 - Object
- 4 - Array
- 8 - Boolean
- 10 - Null
- 16 - Int32
- 18 - Int64