node.js - 如何在 Mongoose/Node.js 中同时保存多个文档?

目前我使用 save 添加单个文档。假设我有一组文档,我希望将它们存储为单个对象。有没有办法通过一个函数调用将它们全部添加,然后在完成后获得一个回调?我可以单独添加所有文档,但管理回调以解决所有问题。

最佳答案

Mongoose 现在支持将多个文档结构传递给 Model.create .引用他们的 API 示例,它支持传递数组或可变参数对象列表,并在末尾带有回调:

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

或者

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

编辑:正如许多人所指出的,这不会执行真正的批量插入 - 它只是隐藏了您自己多次调用 save 的复杂性。下面有答案和评论,解释了如何使用实际的 Mongo 驱动程序来实现批量插入以提高性能。

https://stackoverflow.com/questions/10266512/

相关文章:

node.js - MongoDB 不工作。 "ERROR: dbpath (/data/db) d

mongodb - Azure 表与 Azure 上的 MongoDB

user-interface - MongoDB的GUI工具

node.js - 在 Mongoose 中保存对象后如何获取 objectID?

python - PyMongo upsert 抛出 "upsert must be an inst

mongodb - 如何使用 mongodump 转储的数据?

mongodb - 显示我当前在 MongoDB 中使用的数据库的命令?

javascript - 是否有 Mongoose 连接错误回调

mongodb - 无法将 MongoDB 作为服务启动

mongodb - mongo组查询如何保留字段