假设多个用户正在对同一文档执行写入操作。
假设我的 Firestore 安全规则将仅在 resource.data.status == true 时允许写入
。
我的问题是,每个用户都会尝试使用一大堆其他字段写入文档,并将状态设置为 false,从而阻止其他写入。
规则评估和写入过程是否原子,以便不存在竞争条件,即多个用户写入安全规则时会看到resource.data.status == true
?
最佳答案
每个 set()
、update()
、delete()
或 runTransaction()
都会被执行作为原子操作。它要么完全成功,要么完全失败,并且任何客户端都不会看到此类操作的部分结果。
如果您希望多个此类操作同时成功或失败,可以将它们组合在 batched write 中。 。批处理中的所有操作要么成功,要么全部失败。
关于firebase - firestore 安全规则和写入是原子的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47394696/