MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

db.cloneCollection ignora chaves duplicadas


Você pode criar outra coleção chamada diga "coisas2" e clonar lá a coleção remota. Em seguida, use a inserção em massa não ordenada para a coleção "coisas" para cada documento da coleção "coisas2" - ela ignorará erros de chave duplicada até que toda a inserção em massa seja concluída.


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 você pode criar um array com todos os documentos da coleção "things2" e depois "inserir" na coleção "things" com a opção {ordered:false}


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

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

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