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

Como posso salvar vários documentos simultaneamente no Mongoose/Node.js?


O Mongoose agora suporta a passagem de várias estruturas de documentos para Model.create. Para citar seu exemplo de API, ele suporta a transmissão de uma matriz ou uma lista varargs de objetos com um retorno de chamada no final:
Candy.create({ type: 'jelly bean' }, { type: 'snickers' }, function (err, jellybean, snickers) {
    if (err) // ...
});

Ou
var array = [{ type: 'jelly bean' }, { type: 'snickers' }];
Candy.create(array, function (err, jellybean, snickers) {
    if (err) // ...
});

Editar: Como muitos notaram, isso não executa uma verdadeira inserção em massa - simplesmente oculta a complexidade de chamar save várias vezes você mesmo. Há respostas e comentários abaixo explicando como usar o driver Mongo real para obter uma inserção em massa para melhorar o desempenho.