簡體   English   中英

貓鼬更新以前獲取的集合

[英]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...

但這會引發最大調用堆棧錯誤。

mongoosemodel.find(callback) ,返回一個ArrayDocument通過回調。 您可以在Document上調用save ,但不能在Array上調用。 因此,您可以在Array上使用for loopforEach

 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM