【发布时间】:2015-04-10 23:43:38
【问题描述】:
我有两个回调,它们经常用 mongoose 修改同一个 mongo 对象。修改很复杂,以至于我无法在一个update() 中轻松完成。结果,很多时候只应用了两个更新中的一个,我收到了[VersionError: No matching document found.] 错误。
有什么方法可以显式锁定文档,以便每次更新都可以等待另一个更新完成,并且可以在不担心竞争条件的情况下发生?
【问题讨论】:
-
在架构上使用
findAndUpdate而不是doc.save() -
问题是我每次对对象进行多次操作无法用单个
findAndModify进行封装