Node.js firestore事务更新回调成功和错误

Node.js firestore事务更新回调成功和错误,node.js,google-cloud-firestore,Node.js,Google Cloud Firestore,我们了解firestore事务基于悲观锁(),这意味着事务块内的实际更新可能成功或失败,取决于“自上次查看文档以来文档是否已更改” 也就是说,我们是否可以在成功或失败时回调事务.update()和事务.create()(mutation)方法,以便更准确地记录日志 我这样问的原因是,使用悲观锁,两个事务块可以同时发生,当两个相互排斥的事情似乎同时发生时,可能会在日志记录中造成混乱 “firestore事务基于悲观锁”您所描述的firestore使用的行为实际上被称为乐观锁,因为它假设数据未被修改

我们了解firestore事务基于悲观锁(),这意味着事务块内的实际更新可能成功或失败,取决于“自上次查看文档以来文档是否已更改”

也就是说,我们是否可以在成功或失败时回调
事务.update()
事务.create()
(mutation)方法,以便更准确地记录日志


我这样问的原因是,使用悲观锁,两个事务块可以同时发生,当两个相互排斥的事情似乎同时发生时,可能会在日志记录中造成混乱

“firestore事务基于悲观锁”您所描述的firestore使用的行为实际上被称为乐观锁,因为它假设数据未被修改。另请参见“两个相互排斥的事情似乎同时发生”这是不可能发生的,无论是乐观锁定还是悲观锁定。@FrankvanPuffelen我们在事务内部使用查询,限制为1,我看到两个并发进程查询同一文档,在返回承诺之前,两个调用
事务。将
更新到相同的文档。但是在事务处理之后,只有一个进程实际获得了文档,这意味着另一个进程没有实际解决。听起来您的代码有一个具体的问题。在这种情况下,请在你的问题中包括(请阅读链接,它非常有用)。