我正在阅读Mongoose的特定架构的所有文档。现在在我的程序中,我正在对Mongoose随着时间推移得到的结果做一些修改。像这样:
var model = mongoose.model("Doc", docSchema);
model.find(function(err, result){
// for each result do some modifications
});
如何将所有结果发送回数据库进行保存?目前我正在迭代文档并对每个文档执行save()。我认为必须有更好的方法。但目前我只找到有关更新数据库中的文档而不返回它们的信息。或批量更新,其中SAME将更新到每个文档。
答案 0 :(得分:0)
您可以将更新查询与multi:true一起使用,以更新数据库中的所有文档。 请查看以下参考代码,
model.update({ "_id": id }, { $set: { "Key": "Value" } }, { multi: true }, function (err, records) {
if (err || !records) {
return res.json({ status: 500, message: "Unable to update documents." });
} else {
return res.json({ status: 200, message: "success" });
}
});
答案 1 :(得分:0)
如果您尝试对结果中的每个文档进行相同的更改,您可以执行以下操作:
model.update({ _id: { $in: results.map(doc=>doc._id) }}, { yourField: 'new value' }, { multi: true })