MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

db.cloneCollection ignore les clés en double

Vous pouvez créer une autre collection nommée "things2" et y cloner la collection distante. Ensuite, utilisez l'insertion en bloc non ordonnée dans la collection "things" pour chaque document de la collection "things2" - elle ignorera les erreurs de clé en double jusqu'à ce que l'insertion en bloc soit terminée.

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

ou vous pouvez créer un tableau avec tous les documents de la collection "things2" puis "l'insérer" dans la collection "things" avec l'option {ordonné :false }

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

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

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