[英]Mongoose update previously fetched collection
我想更新一個收藏。 文件似乎對此不清楚。
我想知道如何實現以下目標:
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...
但這會引發最大調用堆棧錯誤。
在mongoose
, model.find(callback)
,返回一個Array
的Document
通過回調。 您可以在Document
上調用save
,但不能在Array
上調用。 因此,您可以在Array
上使用for loop
或forEach
。
Order
.find({ _id: { $in: ids}})
.exec(function(err, items, count) {
items.forEach(function (it) {
it.save(function () {
console.log('you have saved ', it)
});
})
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.