簡體   English   中英

使用貓鼬更新命令獲取受影響的記錄

[英]Get affected records with mongoose update command

使用multi:true選項執行貓鼬更新命令時,如何獲取數據庫中受影響記錄的ID?

    MyModel.update({ age: { $gt: 18 } }, { oldEnough: true }, { multi: true }, function (err, raw) {
      if (err) return handleError(err);
      console.log('The raw response from Mongo was ', raw);
    });

這將返回受影響的文檔數,但是如何在不運行數據庫內部另一個查詢的情況下知道它們的ID?

具有或不具有multi: true選項的更新操作將返回WriteResult ,該結果沒有包含此類詳細信息的屬性。 只有各種計數。

當談到貓鼬時,根據他們的文檔,您只能在成功的回調中得到errrawResponse

回調函數接收(err,rawResponse)。

如果發生了任何錯誤,則err為錯誤rawResponse是來自Mongo的完整響應

因此,您基本上可以從mongo獲得WriteResult ,僅此而已。

因此, 沒有你不能得到更新的方便列表_id雖然你很可能做的事情post更新中間件,你可以運行filter更新的一部分,並存儲一些_ids我猜審計等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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