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

MongoDB में अपडेट और क्वेरी पार्ट्स को मिलाकर अपसर्ट डॉक्यूमेंट बनाएं

MongoDB में $set और upsert से डॉक्यूमेंट अपडेट या इन्सर्ट करें

जब आप चाहते हैं कि डॉक्यूमेंट मिलने पर अपडेट हो और न मिलने पर नया बने, तो $set ऑपरेटर के साथ upsert: true का उपयोग करें।

कलेक्शन बनाएं और डॉक्यूमेंट इन्सर्ट करें

> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a61c345990cee87fd890") }
> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"Larry","StudentAge":23});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a624345990cee87fd891") }
> db.updateWithUpsertDemo.insertOne({"StudentFirstName":"David","StudentAge":24});
{ "acknowledged": true, "insertedId": ObjectId("5cd2a62c345990cee87fd892") }

सभी डॉक्यूमेंट देखें

> db.updateWithUpsertDemo.find().pretty();
{
  "_id": ObjectId("5cd2a61c345990cee87fd890"),
  "StudentFirstName": "John",
  "StudentAge": 21
}
{
  "_id": ObjectId("5cd2a624345990cee87fd891"),
  "StudentFirstName": "Larry",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd2a62c345990cee87fd892"),
  "StudentFirstName": "David",
  "StudentAge": 24
}

अपसर्ट ऑपरेशन: मौजूदा डॉक्यूमेंट अपडेट करें

> db.updateWithUpsertDemo.update(
  {_id: ObjectId("5cd2a624345990cee87fd891")},
  {"$set": {"StudentFirstName": "Chris"}},
  {upsert: true}
);
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })

अपडेट के बाद चेक करें

> db.updateWithUpsertDemo.find().pretty();
{
  "_id": ObjectId("5cd2a61c345990cee87fd890"),
  "StudentFirstName": "John",
  "StudentAge": 21
}
{
  "_id": ObjectId("5cd2a624345990cee87fd891"),
  "StudentFirstName": "Chris",
  "StudentAge": 23
}
{
  "_id": ObjectId("5cd2a62c345990cee87fd892"),
  "StudentFirstName": "David",
  "StudentAge": 24
}

कैसे काम करता है

  • क्वेरी पार्ट (_id) से डॉक्यूमेंट ढूंढा जाता है
  • $set से निर्दिष्ट फ़ील्ड अपडेट होती है
  • upsert: true से डॉक्यूमेंट न मिलने पर नया बनता है
  • क्वेरी और अपडेट दोनों पार्ट मिलकर नए डॉक्यूमेंट का स्ट्रक्चर बनाते हैं
  1. - MongoDB में डॉक्यूमेंट और सबडॉक्यूमेंट उदाहरण के साथ अपडेट

    डॉक्यूमेंट और सबडॉक्यूमेंट दिखाने वाला सिंटैक्स: db.yourCollectionName.insertOne( { yourFieldName: yourValue, yourFieldName: [ { yourFieldName1, yourFieldName2, ... N } ] } ); आइए

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo595.insertOne({ Information: [ { _id: new ObjectId(), Name:Chris }, { _id:new ObjectId(), Name:Robert } ] }); { acknowledged : true, insertedId : ObjectId(5e93369cfd2d90c177b5bce4) } find() मेथड की मदद से कलेक्शन के सभी

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    नेस्टेड दस्तावेज को अपडेट करने के लिए, update() का उपयोग करें और उसके भीतर डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo607.insertOne({ id:1, Info1: { Name: Chris, Age: 21, Info2: { SubjectName: MongoDB, Ma