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

मोंगोडब कई वस्तुओं को एक सरणी में, स्थायी रूप से, स्थायी रूप से परिवर्तित करता है

आप नीचे एग्रीगेशन पाइपलाइन को 3.4 . में आज़मा सकते हैं संस्करण।

नीचे एकत्रीकरण स्टोर्स को बदलता है $objectToArray उसके बाद $map सभी मौजूदा क्षेत्रों को रखते हुए नए क्षेत्र के साथ रूपांतरित सरणी को आउटपुट करने के लिए।

नई स्टोर संरचना लिखने के लिए बल्क अपडेट।

var bulk = db.getCollection(col).initializeUnorderedBulkOp();
var count = 0;
var batch = 1;

db.getCollection(col).aggregate([
{"$match":{"store_affiliation.stores":{"$ne":{"$type":4}}}},
{"$addFields":{
  "stores":{
      "$map":{
        "input":{"$objectToArray": "$store_affiliation.stores"}, 
        "in":{
           "store_code":"$$this.k", 
           "role":"$$this.v.role", 
           "startdate":"$$this.v.startdate", 
           "enddate":"$$this.v.enddate", 
           "permissions":"$$this.v.permissions"
         }
      }
    }
}}]).forEach(function(doc){ 
    var _id = doc._id; 
    var stores = doc.stores; 
    bulk.find({ "_id" : _id }).updateOne(
      { $set: {"store_affiliation.stores" : stores} }
   ); 
    count++;  
    if (count == batch) { 
        bulk.execute(); 
        bulk = db.getCollection(col).initializeUnorderedBulkOp(); 
        count = 0;
    } 
});

if (count > 0) { 
    bulk.execute(); 
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Homebrew के साथ MongoDB स्थापित करना

  2. MongoDB प्रतिकृति सेट के लिए SELinux को कैसे कॉन्फ़िगर करें

  3. मोंगोडब सशर्त प्रकार

  4. MongoDB-Java ड्राइवर:डालने में विफल होने पर अपवाद को पकड़ें

  5. मोंगोडब में कमी मूल्य