MongoDB में, आप $pop
. का उपयोग कर सकते हैं किसी सरणी से पहले या अंतिम तत्व को निकालने के लिए ऑपरेटर।
$pop
का उपयोग करें update()
. जैसी विधि के संयोजन के साथ निर्दिष्ट दस्तावेज़ को परिवर्तन के साथ अद्यतन करने के लिए।
-1
का प्रयोग करें पहला तत्व निकालने के लिए, और 1
आखिरी को हटाने के लिए।
उदाहरण
मान लीजिए हमारे पास products
. नामक संग्रह है निम्नलिखित दस्तावेजों के साथ:
{ "_id" : 1, "prod" : "Bat", "sizes" : [ "S", "M", "L", "XL" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M", "L", "XL" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }
पहला तत्व निकालें
हम दस्तावेज़ 1 में सरणी के पहले तत्व को इस तरह हटा सकते हैं:
db.products.update(
{ _id: 1 },
{ $pop: { sizes: -1 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
वह संदेश हमें बताता है कि एक दस्तावेज़ का मिलान हुआ और एक (यानी एक ही दस्तावेज़) को संशोधित किया गया।
आइए अब इस संग्रह पर एक नज़र डालते हैं:
db.products.find()
परिणाम:
{ "_id" : 1, "prod" : "Bat", "sizes" : [ "M", "L", "XL" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M", "L", "XL" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }
हम देख सकते हैं कि दस्तावेज़ 1 में सरणी का पहला तत्व हटा दिया गया है।
अंतिम तत्व निकालें
अब दस्तावेज़ 2 में सरणी से अंतिम तत्व को हटा दें:
db.products.update(
{ _id: 2 },
{ $pop: { sizes: 1 } }
)
आउटपुट:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
आइए अब संग्रह को फिर से देखें:
db.products.find()
परिणाम:
{ "_id" : 1, "prod" : "Bat", "sizes" : [ "M", "L", "XL" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M", "L" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M", "L" ] }
हम देख सकते हैं कि दस्तावेज़ 2 में अंतिम तत्व को सरणी से हटा दिया गया है।
सभी दस्तावेज़ अपडेट करें
यहां एक उदाहरण दिया गया है जो updateMany()
. का उपयोग करता है सभी दस्तावेज़ों को अद्यतन करने की विधि:
db.products.updateMany(
{ },
{ $pop: { sizes: 1 } }
)
आउटपुट:
{ "acknowledged" : true, "matchedCount" : 3, "modifiedCount" : 3 }
और संग्रह की दोबारा जांच करें:
db.products.find()
परिणाम:
{ "_id" : 1, "prod" : "Bat", "sizes" : [ "M", "L" ] } { "_id" : 2, "prod" : "Hat", "sizes" : [ "S", "M" ] } { "_id" : 3, "prod" : "Cap", "sizes" : [ "S", "M" ] }
वैकल्पिक रूप से, आप update()
. का उपयोग कर सकते हैं multi: true
. निर्दिष्ट करके अनेक दस्तावेज़ों को अद्यतन करने की विधि ।