google-cloud-firestore - 如果 ID 存在,则在创建文档时抛出错误 - Firestore
问题描述
我有一种情况,我正在将文档写入 firestore 中的集合,但我正在手动设置 ID。我想知道如果我尝试创建一个 ID 已经存在的文档,我该如何抛出错误。
我知道我可以在写入之前使用.get()
和.exists
属性,但这意味着我现在每次想写入这个集合时都必须从数据库中读取,这在 imo 中不能很好地扩展。
无论如何我可以做到这一点吗?
解决方案
我能想到的唯一选择是让您的安全规则拒绝写入操作,然后在应用程序代码中检测到该拒绝。
allow create: if true;
allow update: if false;
然后,您将处理更新失败,如有关写入数据的文档中所示。
推荐阅读
- jquery - 单击 CSS jQuery 时单选按钮更改文本
- python - Websocket 客户端上的 Python 线程池
- javascript - 每次点击后Javascript函数不返回document.getElementById值
- sql - 在 Apache Superset 中添加一个 druid 集群作为 SQL 数据库
- python - pipenv + pyenv + jupyter
- python - 如何有效地执行这个 numpy 数组操作?
- scala - Spark/scala - 我们可以从数据框中的现有列值创建新列吗
- android - 如何在Android中按顺序(一个接一个)运行两个或多个动画?
- css - 托管动态内容的动画模板
- c# - 加载 XML 文件并转换为字符串