MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

db.cloneCollection ignoriert doppelte Schlüssel

Sie können eine weitere Sammlung namens "things2" erstellen und dort die Remote-Sammlung klonen. Verwenden Sie dann für jedes Dokument der Sammlung „things2“ eine ungeordnete Masseneinfügung in die „things“-Sammlung – es ignoriert doppelte Schlüsselfehler, bis die gesamte Masseneinfügung abgeschlossen ist.

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();

oder Sie können ein Array mit allen Dokumenten aus der Sammlung „things2“ erstellen und es dann mit der Option {ordered:false }

in die Sammlung „things“ „einfügen“.

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

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

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