sql >> Base de Datos >  >> NoSQL >> MongoDB

db.cloneCollection ignora las claves duplicadas

Puede crear otra colección llamada "cosas2" y clonar allí la colección remota. Luego, use la inserción masiva desordenada en la colección "cosas" para cada documento de la colección "cosas2":ignorará los errores de clave duplicados hasta que se complete la inserción masiva completa.

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

o puede crear una matriz con todos los documentos de la colección "cosas2" y luego "insertarla" en la colección "cosas" con la opción {ordenado:falso }

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

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

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