sql >> Database teknologi >  >> NoSQL >> MongoDB

db.cloneCollection ignorer dublerede nøgler

Du kan oprette en anden samling ved navn sige "things2" og klone fjernsamlingen der. Brug derefter uordnet masseindlæg til "things"-samlingen for hvert dokument i "things2"-samlingen - det vil ignorere duplikerede nøglefejl, indtil hele masseindsættelsen er færdig.

db.cloneCollection('localhost:27018', 'things2');

var cursor = db.things2.find(); null;

var bulk = db.things.initializeUnorderedBulkOp();


cursor.forEach(function(doc) {
  bulk.insert(doc);
});

bulk.execute();

eller du kan oprette et array med alle dokumenterne fra "things2"-samlingen og derefter "indsætte" det til "things"-samlingen med muligheden { ordered:false }

db.cloneCollection('localhost:27018', 'things_2');

var things2array = db.things2.find().toArray(); null;

db.things.insert(things2array,{ ordered : false });



  1. Mongodb 16 MB dokumenteksempel, hvor meget faktisk data?

  2. Native MongoDB-maskering (3. metode)

  3. Kan jeg indstille global TTL i redis?

  4. Mongodb MapReducer ydeevnen ved hjælp af indekser