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

मोंगो में सरणी आकार के साथ फ़ील्ड सम्मिलित करें

आप .aggregate() विधि $project के लिए अपने दस्तावेज़ और $size लौटाएं आइटम सरणी के। उसके बाद आपको .forEach लूप और $set "बल्क" का उपयोग करके आपके दस्तावेज़ के लिए आइटम कुल फ़ील्ड अधिकतम दक्षता के लिए संचालन।

var bulkOp = db.myDocument.initializeUnorderedBulkOp(); 
var count = 0;

db.myDocument.aggregate([
    { "$match": { 
        "itemsTotal": { "$exists": false } ,
        "items": { "$exists": true }
    }}, 
    { "$project": { "itemsTotal": { "$size": "$items" } } }
]).forEach(function(doc) { 
        bulkOp.find({ "_id": doc._id }).updateOne({ 
            "$set": { "itemsTotal": doc.itemsTotal }
        });
        count++;
        if (count % 200 === 0) {
            // Execute per 200 operations and re-init
            bulkOp.execute();
            bulkOp = db.myDocument.initializeUnorderedBulkOp();
        }
})

// Clean up queues
if (count > 0) { 
    bulkOp.execute();
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:स्कीमा माइग्रेशन, अपडेट या इंसर्ट

  2. MongoDB टेक्स्ट इंडेक्स और टेक्स्ट स्कोर में दस्तावेज़ की लंबाई को कैसे संभालता है?

  3. Mongodb में एकत्रीकरण क्वेरी द्वारा लौटाए गए दस्तावेज़ों को कैसे हटाएं

  4. मोंगो में प्राथमिक कुंजी/_आईडी के रूप में स्लग का उपयोग करके प्रदर्शन नुकसान?

  5. कोयब पर मोंगोडीबी एटलस और अपोलो सर्वर के साथ एक ग्राफक्यूएल एपीआई तैनात करें