【问题标题】:Are firestore security rules and writes atomic?Firestore 安全规则和写入是原子的吗?
【发布时间】:2017-11-20 14:48:08
【问题描述】:

假设多个用户正在对同一个文档执行写入操作。

假设我的 Firestore 安全规则只会allow write if resource.data.status == true

我的问题是每个用户都会尝试用一大堆其他字段编写文档,并将状态设置为 false 从而阻止其他写入。

规则评估和写入过程是否是原子的,这样就不会有多个用户编写安全规则的竞争条件会看到resource.data.status == true

【问题讨论】:

    标签: firebase google-cloud-firestore


    【解决方案1】:

    每个set()update()delete()runTransaction() 都作为原子操作执行。它要么完全成功,要么完全失败,并且任何客户端都不会看到此类操作的部分结果。

    如果您希望多个此类操作一起成功或失败,您可以将它们组合在一个batched write 中。批处理中的所有操作要么成功,要么全部失败。

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 1970-01-01
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2021-04-12
      • 2021-04-09
      • 2018-10-19
      相关资源
      最近更新 更多