MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

मोंगोडीबी $पॉप

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उपयोग कैसे सेट करेंMongoClient (मोंगोस 4.11.0)?

  2. MongoDB शेल में ISODate में दिन जोड़ना/घटाना

  3. क्या मोंगोडीबी को संग्रह नामों में बहुवचन रूप जोड़ने से रोकने का कोई तरीका है?

  4. MongoDB - श्रेणीबद्ध क्वेरी पर छँटाई और सीमित करते समय सूचकांक का उपयोग नहीं किया जा रहा है

  5. Mongoid का उपयोग करके बैच सम्मिलित/अद्यतन करें?