在 MongoDB 中获取 'Before Update' 文档

Getting 'Before Update' document in MongoDB

有没有办法通过 shell 或通过 Spring 数据 [ Java ] 等任何框架在 MongoDB 中获取 'before udpate' 文档?

我可以通过某种方式设置一个触发器,当我在 MongoDB shell.

中点击更新命令时输出两个东西

到目前为止,我一直在探索 oplog 的内容,但我无法执行这样的 [triggerish] 事件,因为 oplog 的更新条目只有那些要 added/updated/removed 来查询提供的条件的字段。

findAndModify 命令采用一个选项 (new : true/false) 来指定您 return 文档的新版本 (true) 还是原始版本 (false, 这是默认)。

既然您可以使用任何一个版本 returned 并且您知道您正在做什么来修改文档,那么应该可以 return 原件(打印出来),然后应用更新代码中的文档并再次打印出来。

另一种方法是使用 findAndModify 编辑的原始 return,然后重新查询同一文档,但您无法保证该文档未被更改同时通过另一个操作。