MongoDB mongosh Update

दस्तावेज़ अपडेट करना

दस्तावेज़ अपडेट करना

किसी मौजूदा दस्तावेज़ को अपडेट करने के लिए, हम updateOne() या updateMany() विधियों का उपयोग कर सकते हैं।

पहला पैरामीटर एक क्वेरी ऑब्जेक्ट है जो परिभाषित करता है कि कौन सा दस्तावेज़ या दस्तावेज़ अपडेट किए जाने चाहिए।

दूसरा पैरामीटर एक ऑब्जेक्ट है जो अपडेट किए गए डेटा को परिभाषित करता है।

updateOne()

updateOne() विधि प्रदान की गई क्वेरी से मेल खाने वाले पहले दस्तावेज़ को अपडेट करती है।

आइए देखें कि "Post Title 1" शीर्षक वाली पोस्ट में कितने "likes" हैं:

उदाहरण

db.posts.find( { title: "Post Title 1" } )

अब हम इस पोस्ट में "likes" को 2 में अपडेट करेंगे। ऐसा करने के लिए, हमें $set ऑपरेटर का उपयोग करना होगा।

उदाहरण

db.posts.updateOne( { title: "Post Title 1" }, { $set: { likes: 2 } } )

दस्तावेज़ को फिर से जांचें, आप देखेंगे कि "likes" अपडेट हो गया है।

उदाहरण

db.posts.find( { title: "Post Title 1" } )

यदि नहीं मिला तो सम्मिलित करें

यदि दस्तावेज़ नहीं मिला है तो उसे सम्मिलित करना चाहते हैं, तो आप upsert विकल्प का उपयोग कर सकते हैं।

उदाहरण

दस्तावेज़ को अपडेट करें, लेकिन यदि नहीं मिला तो सम्मिलित करें:

db.posts.updateOne( 
  { title: "Post Title 5" }, 
  {
    $set: 
      {
        title: "Post Title 5",
        body: "Body of post.",
        category: "Event",
        likes: 5,
        tags: ["news", "events"],
        date: Date()
      }
  }, 
  { upsert: true }
)

updateMany()

updateMany() विधि प्रदान की गई क्वेरी से मेल खाने वाले सभी दस्तावेज़ों को अपडेट करती है।

उदाहरण

सभी दस्तावेज़ों में likes को 1 से बढ़ाएँ। इसके लिए हम $inc (increment) ऑपरेटर का उपयोग करेंगे:

db.posts.updateMany({}, { $inc: { likes: 1 } })

अब सभी दस्तावेज़ों में likes की जांच करें, आप देखेंगे कि वे सभी 1 से बढ़ गए हैं।

अभ्यास

MongoDB में यदि कोई दस्तावेज़ नहीं मिला है तो उसे सम्मिलित करने के लिए कौन सा विकल्प उपयोग किया जाता है?

insertIfNotFound
✗ गलत! insertIfNotFound MongoDB में एक वैध विकल्प नहीं है
upsert
✓ सही! upsert विकल्प दस्तावेज़ नहीं मिलने पर उसे सम्मिलित करने के लिए उपयोग किया जाता है
createIfMissing
✗ गलत! createIfMissing MongoDB में एक वैध विकल्प नहीं है
insertOrUpdate
✗ गलत! insertOrUpdate MongoDB में एक वैध विकल्प नहीं है