MongoError: WriteConflict 错误:此操作与另一个操作冲突。请重试您的操作或多次

Ema*_*ani 9 mongoose mongodb node.js

我正在尝试使用两个并行的多文档事务更新文档,但出现以下错误:???

MongoError: WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction. 
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

小智 4

当两个或多个写入操作尝试同时修改文档时,mongodb 中会发生写入冲突。由于mongodb使用乐观并发控制,所以后面的操作会失败,并在内部重试后面的写操作。

mongodb中的事务可以通过两种方式实现:

  1. 核心 api - 重试逻辑不在内部实现,而是留给开发人员合并
  2. 回调 api - 重试逻辑已合并

我相信您正在使用核心 api 方法,这就是它给出此错误的原因。尝试切换到回调api方法来解决它。