MongoDB-এ $ifNull অপারেটর: NULL হ্যান্ডলিং
$ifNull অপারেটর একটি এক্সপ্রেশন ইভ্যালুয়েট করে এবং যদি মান null বা অনুপস্থিত হয়, তবে ডিফল্ট মান রিটার্ন করে। সিনট্যাক্স: { $ifNull: [ ।
উদাহরণ: NULL মান সহ ডকুমেন্ট তৈরি
> db.demo372.insertOne({"FirstName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e591aea2ae06a1609a00af6") }
> db.demo372.insertOne({"FirstName":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e591aef2ae06a1609a00af7") }
> db.demo372.insertOne({"FirstName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e591af42ae06a1609a00af8") }
> db.demo372.insertOne({"FirstName":null});
{ "acknowledged" : true, "insertedId" : ObjectId("5e591afb2ae06a1609a00af9") }
সমস্ত ডকুমেন্ট
> db.demo372.find();
{ "_id" : ObjectId("5e591aea2ae06a1609a00af6"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e591aef2ae06a1609a00af7"), "FirstName" : null }
{ "_id" : ObjectId("5e591af42ae06a1609a00af8"), "FirstName" : "David" }
{ "_id" : ObjectId("5e591afb2ae06a1609a00af9"), "FirstName" : null }
অগ্রেশন কুয়েরি: $ifNull ব্যবহার করে NULL প্রতিস্থাপন
> db.demo372.aggregate([
{ $project: {
FirstName: { $ifNull: [ "$FirstName", "NOT PROVIDED" ] }
}}
])
ফলাফল
{ "_id" : ObjectId("5e591aea2ae06a1609a00af6"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e591aef2ae06a1609a00af7"), "FirstName" : "NOT PROVIDED" }
{ "_id" : ObjectId("5e591af42ae06a1609a00af8"), "FirstName" : "David" }
{ "_id" : ObjectId("5e591afb2ae06a1609a00af9"), "FirstName" : "NOT PROVIDED" }
ব্যাখ্যা
$project: আউটপুট ফিল্ড ডিফাইন করতে ব্যবহৃত।$ifNull: [ "$FirstName", "NOT PROVIDED" ]:FirstNameযদিnullবা মিসিং হয়, তবে "NOT PROVIDED" রিটার্ন করবে।- অন্য ফিল্ড রাখতে:
_id: 1, FirstName: { $ifNull: [...] }।
ব্যবহার ক্ষেত্র
- রিপোর্টিং-এ খালি ফিল্ডে ডিফল্ট মান দেখানোর জন্য।
- ডেটা ক্লিনিং বা ট্রান্সফরমেশনে।
- ফ্রন্টএন্ডে "N/A" দেখানোর জন্য।