MongoDB-এ কোনো ফিল্ডের মান `null` কিনা চেক করতে $type অপারেটর সাথে টাইপ নম্বর ১০ (alias: "null") ব্যবহার করা হয়।
BSON টাইপ নম্বর এবং আলিয়াস
| Type | Number | Alias |
|---|---|---|
| Double | 1 | "double" |
| String | 2 | "string" |
| Object | 3 | "object" |
| Array | 4 | "array" |
| Binary data | 5 | "binData" |
| Undefined | 6 | "undefined" |
| ObjectId | 7 | "objectId" |
| Boolean | 8 | "bool" |
| Date | 9 | "date" |
| Null | 10 | "null" |
| Regular Expression | 11 | "regex" |
Null চেক করার সিনট্যাক্স
db.yourCollectionName.find({ "yourFieldName": { $type: 10 } });
এটি শুধু যেসব ডকুমেন্টে ফিল্ডটি এক্সপ্লিসিটলি `null` সেট করা আছে, সেগুলো রিটার্ন করে। ফিল্ড অনুপস্থিত থাকলে মেলে না।
নমুনা ডেটা তৈরি করা
mongoDbEqualDemo কালেকশনে ভিন্ন টাইপের `Age` ফিল্ড দিয়ে ডকুমেন্ট ইনসার্ট করি।
> db.mongoDbEqualDemo.insertOne({"Age":34});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e9121a844af18acdffa3") }
> db.mongoDbEqualDemo.insertOne({"Age":""});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e9161a844af18acdffa4") }
> db.mongoDbEqualDemo.insertOne({"Age":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e9191a844af18acdffa5") }
> db.mongoDbEqualDemo.insertOne({"Age":56});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e91e1a844af18acdffa6") }
> db.mongoDbEqualDemo.insertOne({});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e9261a844af18acdffa7") }
> db.mongoDbEqualDemo.insertOne({"Age":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7e92e1a844af18acdffa8") }
সকল ডকুমেন্ট দেখানো
> db.mongoDbEqualDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5cd7e9121a844af18acdffa3"), "Age" : 34 }
{ "_id" : ObjectId("5cd7e9161a844af18acdffa4"), "Age" : "" }
{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e91e1a844af18acdffa6"), "Age" : 56 }
{ "_id" : ObjectId("5cd7e9261a844af18acdffa7") }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }
শুধু null মান वाले ফিল্টার করা
> db.mongoDbEqualDemo.find({ "Age": { $type: 10 } });
আউটপুট:
{ "_id" : ObjectId("5cd7e9191a844af18acdffa5"), "Age" : null }
{ "_id" : ObjectId("5cd7e92e1a844af18acdffa8"), "Age" : null }
দ্রষ্টব্য: খালি স্ট্রিং ("") এবং অনুপস্থিত ফিল্ড (৫ম ডকুমেন্ট) — এগুলো `null` টাইপ নয়, তাই মেলেনি। আপনি {$type: "null"} আলিয়াসও ব্যবহার করতে পারেন।