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

Comment puis-je enregistrer plusieurs documents simultanément dans Mongoose/Node.js ?

Mongoose prend désormais en charge la transmission de plusieurs structures de document à Model.create. Pour citer leur exemple d'API, il prend en charge le passage d'un tableau ou d'une liste varargs d'objets avec un rappel à la fin :

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) // ...
});

Modifier : Comme beaucoup l'ont noté, cela n'effectue pas une véritable insertion en masse - cela cache simplement la complexité d'appeler save plusieurs fois vous-même. Il y a des réponses et des commentaires ci-dessous expliquant comment utiliser le pilote Mongo réel pour réaliser une insertion en masse dans l'intérêt des performances.