firebase - Firestore创建不存在的文档,如果存在则跳过

标签 firebase google-cloud-firestore

如果它们不存在,我想创建Firestore文档-如果存在,请跳过它们(不更新)。
这是流程

var arrayOfRandomIds = [array of 500 random numbers];
for (var id of arrayOfRandomIds)
{
 var ref = db.collection("tickets").doc(id);
 batch.set(ref, {name: "My name", location: "Somewhere"}, { merge: true });
}
batch.commit();

我只想知道,如果存在的话,这会覆盖掉它们吗?我不希望任何内容被覆盖,只是跳过。

谢谢。

最佳答案

我认为您可以使用安全规则来实现这一目标。这样一来,您无需为阅读额外的文档(如果该文档已经存在)而付费。

service cloud.firestore {
  match /databases/{database}/documents {
    match /tickets/{id} {
      allow create;
    }
  }
} 

关于firebase - Firestore创建不存在的文档,如果存在则跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59989973/

相关文章:

java - 如何查询 Firebase 文档中的数组列表?

spring-boot - 在集成测试开始之前运行Firestore Emulator

javascript - 将 arraylist 中已表示的值添加到 arraylist 中

angular - 如何使用 AngularFire、Firestore 和 Firebase 分页到上一页

swift - Xcode TabBar Controller 注销问题

java - 为什么我无法在 Android Studio 中使用 ImageButton 上传图像文件?

android - 由于 META-INF 文件,Firebase MLKit 无法构建

flutter - 每当用户更新身份验证配置文件时,我是否可以更新用户文档?

android - Firestore 哪个规则只从 Android 应用程序读取并使用 API KEY 写入?

dart - 在Dart的构造函数中通过网络调用初始化变量