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 . निर्दिष्ट करके अनेक दस्तावेज़ों को अद्यतन करने की विधि ।