簡體   English   中英

在MongoDB中獲取“更新前”文檔

[英]Getting 'Before Update' document in MongoDB

有沒有一種方法可以通過外殼程序或通過Spring Data [Java]之類的框架在MongoDB中獲取“ udpate之前”的文檔?

我可以通過某種方式設置一個觸發器,當我在MongoDB shell中命中更新命令時輸出兩件事。

  • 首先打印原始文件
  • 打印更新的文檔

到目前為止,我一直在探索oplog的內容,但是我無法做這樣的[觸發]事件,因為oplog的update條目只有要添加/更新/刪除來提供查詢條件的那些字段。

findAndModify命令采用一個選項( new : true/false )指定返回的是新版本(true)還是文檔的原始版本(false,這是默認值)。

由於可以返回任一版本,並且知道修改文檔的方式,因此應該可以返回原始文檔(將其打印出來),然后將更新應用到代碼中的文檔中,然后再次打印出來。

替代方法是使用findAndModify返回的原始findAndModify ,然后重新查詢同一文檔,但是您將無法保證同時沒有其他操作更改過該文檔。

暫無
暫無

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

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