0

在我的项目中,我必须同时从多个设备更新字段值并检查计数是否达到 0。当我将字段值减少 1 时,我已经在另一个表中输入。因此,当我尝试从 2 个设备同时更新时,该字段仅减少 1 而不是 2。当我尝试使用事务时,多个条目被添加到其他表中。

4

1 回答 1

0

如果多个客户端需要同时修改多个文档,则需要使用事务。在此事务中,您然后get()是文档,并将更新写回数据库。

一旦您在事务中执行此操作,Firestore 服务器将检测到冲突更新,并强制第二个客户端重试 - 此时它会获得正确的值 ( 0IIRC),然后可以提醒用户没有更多库存。

于 2021-08-19T14:06:02.350 回答