इसके लिए आप $cond के साथ $anyElementTrue का इस्तेमाल कर सकते हैं। NULL मान (फ़ील्ड की अनुपस्थिति) FALSE का मूल्यांकन करेगा। इसके साथ, एक खाली सरणी भी $ anyElementTrue के साथ FALSE लौटाती है।
आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -
> db.presenceDemo.insertOne({"StudentName":null});{ "acknowledged" :true, "insertId" :ObjectId("5e06f70c25ddae1f53b621f3")}> db.presenceDemo.insertOne({"StudentName":" क्रिस"});{"स्वीकृत" :सच, "insertId" :ObjectId("5e06f71425ddae1f53b621f4")}> db.presenceDemo.insertOne({"StudentName":null});{ "स्वीकृत" :सच, "insertedId" :ObjectId("5e06f71825ddae1f53b621f5")}> db.presenceDemo.insertOne({"StudentName":"David"});{ "स्वीकृत" :सच, "insertId" :ObjectId("5e06f71e25ddae1f53b621f6")} खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -> db.presenceDemo.find();यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e06f70c25ddae1f53b621f3"), "StudentName" :null }{ "_id" :ObjectId("5e06f71425ddae1f53b621f4"), "StudentName" :"Chris" }{ "_id" :ObjectI "), "StudentName" :null }{ "_id" :ObjectId("5e06f71e25ddae1f53b621f6"), "StudentName" :"David" }किसी फ़ील्ड की मौजूदगी या अनुपस्थिति के आधार पर $cond फ़ील्ड को लागू करने की क्वेरी यहां दी गई है -
> db.presenceDemo.aggregate([... {"$project":{... "MyValue":{... "$cond":[... {"$anyElementTrue":[ [ " $StudentName" ] ] },... 1,... 0... ]... }... }}... ]);यह निम्नलिखित आउटपुट देगा -
{ "_id" :ObjectId("5e06f70c25ddae1f53b621f3"), "MyValue" :0 }{ "_id" :ObjectId("5e06f71425ddae1f53b621f4"), "MyValue" :1 }{ "_id" :Object71825ddae1f53b621{ "_id" :ObjectId("5e06f") , "MyValue" :0 }{ "_id" :ObjectId("5e06f71e25ddae1f53b621f6"), "MyValue" :1 }