sql >> Databasteknik >  >> NoSQL >> MongoDB

db.cloneCollection ignorera dubbletter av nycklar

Du kan skapa en annan samling som heter säg "things2" och klona fjärrsamlingen dit. Använd sedan oordnad bulkinfogning till "things"-samlingen för varje dokument i "things2"-samlingen - den kommer att ignorera dubbla nyckelfel tills hela massinsättningen är klar.

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 så kan du skapa en array med alla dokument från "things2"-samlingen och sedan "infoga" den i "things"-samlingen med alternativet { ordered:false }

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

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

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



  1. Synkroniseringskällan hade inget funktionskompatibilitetsversionsfel när MongoDB 3.6-medlem lades till i 3.4-replikauppsättningen

  2. findAndModify eller findOneAndUpdate - är inte en funktion

  3. Autoslutförande filtrerad med mongodb

  4. Hur säger man... matcha när fältet är ett nummer... i mongodb?