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

एक मोंगोडब दस्तावेज़ में सभी सरणी तत्वों को एक निश्चित मूल्य में कैसे बदलें?

ऐसा करने का सबसे अच्छा तरीका है सरणी तत्व से मेल खाना और अलग-अलग स्थिति के साथ अपडेट करना $ Bulk() . का उपयोग करने वाला ऑपरेटर एपीआई। आपको वास्तव में अपने qty को ब्लो नहीं करना चाहिए सरणी।

var bulk = db.mycollection.initializeOrderedBulkOp(),   
    count = 0;

db.mycollection.find({ "code" : "efg" }).forEach(function(doc){ 
    var qty = doc["qty"]; 
    for (var idx = 0; idx < qty.length; idx++){ 
        bulk.find({ 
            "_id": doc._id, 
            "qty": { "$elemMatch": { "num": qty[idx]["num"]}}
        }).update({ "$set": { "qty.$.num": 0 }})
    }     
    count++;  
    if (count % 200 == 0) { 
        // Execute per 200 operations and re-init.
        bulk.execute(); 
        bulk = db.mycollection.initializeOrderedBulkOp(); 
    } 
})

// Clean up queues
if (count % 200 != 0)
    bulk.execute(); 



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ऑब्जेक्ट आईडी की सरणी के साथ नेवला स्कीमा कैसे बनाएं?

  2. मैं async विधि में कोड डीबग क्यों नहीं कर सकता?

  3. MongoDB व्यू को कलेक्शन में कैसे बदलें

  4. उल्का MongoDB डेटाबेस कहाँ है?

  5. हमें क्यों चाहिए, नेवले का उपयोग करने के क्या फायदे हैं