目前我使用 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 中使用的数据库的命令?