我尝试使用两个并行的多文档事务更新文档,但收到以下错误:
MongoError: WriteConflict error: this operation conflicted with another operation. Please retry your operation or multi-document transaction.
我该怎么补救呢?
9jyewag01#
当两个或多个写操作试图同时修改一个文档时,mongodb中会发生WriteConflicts。由于mongodb使用乐观并发控制,它会使后一个操作失败,并在内部重试后一个写操作。mongodb中的事务可以通过两种方式实现:1.核心API-重试逻辑不是在内部实现的,而是留给开发人员来整合1.*回调API -已合并重试逻辑我相信你使用的是核心API方法,这就是为什么它会出现这个错误。尝试切换到回调api方法来解决它。
1条答案
按热度按时间9jyewag01#
当两个或多个写操作试图同时修改一个文档时,mongodb中会发生WriteConflicts。由于mongodb使用乐观并发控制,它会使后一个操作失败,并在内部重试后一个写操作。
mongodb中的事务可以通过两种方式实现:
1.核心API-重试逻辑不是在内部实现的,而是留给开发人员来整合
1.*回调API -已合并重试逻辑
我相信你使用的是核心API方法,这就是为什么它会出现这个错误。尝试切换到回调api方法来解决它。