我想更新一个集合。 Docs似乎对此不清楚。
我想知道如何实现以下目标:
Order.find({ _id: { $in: ids }}).exec(function(err, items, count) {
// Following gives error - same with save()
items.update({ status: 'processed'}, function(err, docs) {
});
});
我知道如何批量保存:
Model.update({ _id: id }, { $set: { size: 'large' }}, { multi: true }, callback);
但这需要再次设置我的查询。
我也试过了:
Order.collection.update(items...
但是这会引发最大调用堆栈错误。
答案 0 :(得分:0)
在mongoose
,model.find(callback)
中,通过回调返回Array
Document
。您可以在save
上致电Document
,但不能在Array
上致电for loop
。因此,您可以在forEach
上使用Array
或 Order
.find({ _id: { $in: ids}})
.exec(function(err, items, count) {
items.forEach(function (it) {
it.save(function () {
console.log('you have saved ', it)
});
})
});
。
{{1}}