【问题标题】:Throw error on creating document if ID exists - Firestore如果 ID 存在,则在创建文档时抛出错误 - Firestore
【发布时间】:2021-04-10 06:26:44
【问题描述】:

我有一种情况,我正在将文档写入 firestore 中的集合,但我正在手动设置 ID。我想知道如果我尝试创建一个 ID 已经存在的文档,我该如何抛出错误。

我知道我可以使用.get().exists property before writing,但这意味着我现在每次想写入这个集合时都必须从数据库中读取,这在imo 中不能很好地扩展。

有没有我可以做到这一点?

【问题讨论】:

    标签: google-cloud-firestore


    【解决方案1】:

    我能想到的唯一选择是让您的安全规则拒绝写入操作,然后在应用程序代码中检测到该拒绝。

    allow create: if true;
    allow update: if false;
    

    然后您将按照writing data 上的文档中所示处理更新失败。

    【讨论】:

    • 以上规则不会完全阻止更新文档吗?
    • 是的。如果您想要更具体的内容以在某些情况下允许更新,您可以修改规则以允许这样做。我的回答很重要的一点是,通过将createupdate 的情况分开,您可以轻松地为它们设置不同的条件。
    猜你喜欢
    • 2021-12-02
    • 2020-08-17
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多