$ifNull ऑपरेटर से फॉलबैक वैल्यू प्रदान करें
MongoDB एग्रीगेशन में $ifNull ऑपरेटर का उपयोग करके: यदि पहली एक्सप्रेशन नल या गायब है, तो दूसरी एक्सप्रेशन की वैल्यू लौटाएं।
उदाहरण: संग्रह बनाना
> db.demo182.insertOne({"FirstName": "Chris", "LastName": null});
{ "acknowledged": true, "insertedId": ObjectId("5e398ea19e4f06af55199802") }
> db.demo182.insertOne({"FirstName": null, "LastName": "Miller"});
{ "acknowledged": true, "insertedId": ObjectId("5e398ead9e4f06af55199803") }
> db.demo182.insertOne({"FirstName": "John", "LastName": "Smith"});
{ "acknowledged": true, "insertedId": ObjectId("5e398ebf9e4f06af55199804") }
सभी डॉक्यूमेंट्स देखना
> db.demo182.find();
{ "_id": ObjectId("5e398ea19e4f06af55199802"), "FirstName": "Chris", "LastName": null }
{ "_id": ObjectId("5e398ead9e4f06af55199803"), "FirstName": null, "LastName": "Miller" }
{ "_id": ObjectId("5e398ebf9e4f06af55199804"), "FirstName": "John", "LastName": "Smith" }
नल होने पर दूसरी फ़ील्ड चुनने की क्वेरी
> db.demo182.aggregate([
{
$project: {
"item": 1,
"Result": { $ifNull: ["$FirstName", "$LastName"] }
}
}
])
आउटपुट:
{ "_id": ObjectId("5e398ea19e4f06af55199802"), "Result": "Chris" }
{ "_id": ObjectId("5e398ead9e4f06af55199803"), "Result": "Miller" }
{ "_id": ObjectId("5e398ebf9e4f06af55199804"), "Result": "John" }
पहले डॉक्यूमेंट में FirstName मौजूद है तो वही लिया गया; दूसरे में FirstName नल है तो LastName लिया गया; तीसरे में दोनों मौजूद हैं तो पहला (FirstName) लिया गया।