首页 > 解决方案 > 如果 ID 存在,则在创建文档时抛出错误 - Firestore

问题描述

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

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

无论如何我可以做到这一点吗?

标签: google-cloud-firestore

解决方案


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

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

然后,您将处理更新失败,如有关写入数据的文档中所示。


推荐阅读