mongoose创build多个文件

我知道在最新版本的Mongoose中,您可以将多个文档传递给create方法,或者在我的情况下更好地传递一组文档。

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

我的问题是,数组的大小是dynamic的,所以在callback中有一个创build对象的数组是有帮助的。

 var array = [{ type: 'jelly bean' }, { type: 'snickers' }, ..... {type: 'N candie'}]; Candy.create(array, function (err, candies) { if (err) // ... candies.forEach(function(candy) { // do some stuff with candies }); }); 

不是在文档中,但有这样的可能吗?

您可以通过参数访问您的callback参数的variables列表。 所以你可以做这样的事情:

 Candy.create(array, function (err) { if (err) // ... for (var i=1; i<arguments.length; ++i) { var candy = arguments[i]; // do some stuff with candy } }); 

根据GitHub上的这张票 ,Mongoose 3.9和4.0会返回一个数组,如果你在使用create()时候提供了一个数组和一个扩展的参数。

通过集合db的插入function,例如:

 Model.collection.insert(array, function(err, list) { if (err) { throw err; } console.log("\nlist:", list); });