在 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,然后重新查询同一文档,但您无法保证该文档未被更改同时通过另一个操作。
有没有办法通过 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,然后重新查询同一文档,但您无法保证该文档未被更改同时通过另一个操作。