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

MongoDB दस्तावेज़ फ़ील्ड केवल तभी डालें जब वह गुम हो?

<घंटा/>

आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं -

>db.missingDocumentDemo.insertOne({"StudentFirstName":"Adam","StudentLastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3fb1eedc6604c74817ce6")
}
>db.missingDocumentDemo.insertOne({"StudentFirstName":"Carol","StudentLastName":"Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3fb29edc6604c74817ce7")
}
>db.missingDocumentDemo.insertOne({"StudentFirstName":"David","StudentLastName":"Miller","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3fb40edc6604c74817ce8")
}

खोज () विधि की मदद से संग्रह से सभी दस्तावेजों को प्रदर्शित करने के लिए क्वेरी निम्नलिखित है -

> db.missingDocumentDemo.find().pretty();

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{
   "_id" : ObjectId("5cd3fb1eedc6604c74817ce6"),
   "StudentFirstName" : "Adam",
   "StudentLastName" : "Smith"
}
{
   "_id" : ObjectId("5cd3fb29edc6604c74817ce7"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor"
}
{
   "_id" : ObjectId("5cd3fb40edc6604c74817ce8"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Miller",
   "StudentAge" : 21
}

यहाँ केवल MongoDB दस्तावेज़ फ़ील्ड सम्मिलित करने की क्वेरी है जब वह गायब है। हम यहां स्टूडेंटएज फील्ड डालने की कोशिश कर रहे हैं। यदि यह पहले से मौजूद है तो यह फ़ील्ड सम्मिलित नहीं करेगा -

> db.missingDocumentDemo.update(
...   { "StudentAge": { "$exists": false } },
...   { "$set": { "StudentAge": 23 } },
...   { "multi": true }
... );
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

आइए हम उपरोक्त संग्रह से सभी दस्तावेज़ प्रदर्शित करें -

> db.missingDocumentDemo.find().pretty();

यह निम्नलिखित आउटपुट उत्पन्न करेगा -

{
   "_id" : ObjectId("5cd3fb1eedc6604c74817ce6"),
   "StudentFirstName" : "Adam",
   "StudentLastName" : "Smith",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd3fb29edc6604c74817ce7"),
   "StudentFirstName" : "Carol",
   "StudentLastName" : "Taylor",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd3fb40edc6604c74817ce8"),
   "StudentFirstName" : "David",
   "StudentLastName" : "Miller",
   "StudentAge" : 21
}

  1. MongoDB में केवल एक ही दस्तावेज़ निकालें

    MongoDB में केवल एक दस्तावेज़ को निकालने के लिए, निकालें () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo165.insertOne({ClientId:103,ClientName:David,ClientAge:35});{ acknowledge :true, insertId :ObjectId(5e36896d9e4f06af551997ce)} संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहा

  1. MongoDB में दस्तावेज़ अपडेट करते समय सशर्त अपरर्ट (एकाधिक सम्मिलित)?

    एकाधिक लेखन कार्यों के लिए, MongoDB में बल्कवाइट () का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo428.insertOne({ नाम:डेविड, आयु :21 });{ स्वीकृत :सच, insertId :ObjectId(5e75f42abbc41e36cc3cae86)} संग्रह से सभी दस्तावेज़ ढूंढें () विधि की सहायता से प्रदर्शित करें db.demo428.find()

  1. MongoDB दस्तावेज़ में केवल एक ही मान बढ़ाएँ?

    केवल एक मान को अपडेट करने और इसे MongoDB में बढ़ाने के लिए, $inc के साथ-साथ update() का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - > db.demo698.insertOne({Score:78}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea6d8a4551299a9f98c