假设我在MongoDB中执行以下操作列表:
- 开始一个会话
- 为该会话启动一个事务
- 使用新文档运行
insert
命令 - 在插入文档的集合上运行
find
命令 - 提交事务
- 结束会话
find
命令能否看到这个新文档?
findOneAndUpdate
找到值并返回其前一个值。如果要进行update
和find
操作,您必须分别执行它们以在事务中查看更新后的值。这使我困惑了几个小时。我不确定为什么我的findOneAndUpdate
一直返回旧属性。我以为update
根本没有发生或者在事务上下文中不可见。 - fIwJlxSzApHEZIlreturnDocument
参数可以传递给findOneAndUpdate
,当设置为"after"
时,将在更新之后返回值。 - ambi