Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Mongodb

एक क्षेत्र की उपस्थिति या अनुपस्थिति के आधार पर एक प्रक्षेपण पाइपलाइन में एक MongoDB $cond फ़ील्ड लागू करें?

<घंटा/>

इसके लिए आप $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 }

  1. MongoDB संग्रह में सभी दस्तावेज़ों में एक नया फ़ील्ड कैसे जोड़ें

    एक नया क्षेत्र जोड़ने के लिए, MongoDB में $addFields का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo712.insertOne({"Name":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea85f675d33e20ed1097b82&qu

  1. MongoDB क्वेरी किसी फ़ील्ड के लौटने वाले मानों को सीमित करने के लिए?

    इसके लिए $slice का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo594.insertOne( ...    { ...       id:1, ...       details:[ ...          {Name:"Chris",Age:21}, ...          {Name:&q

  1. MongoDB में किसी विशिष्ट स्ट्रिंग वाले फ़ील्ड के सभी मान अपडेट करें?

    सभी मानों को अद्यतन करने के लिए, बहु:सत्य के साथ अद्यतन() का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें - db.demo720.find(); यह निम्नलिखित आउटपुट देगा - { _id :ObjectId(5eaae7ca43417811278f5883), SubjectName :MySQL }