Google Cloud Firestore 文档限制

Google Cloud Firestore documents limit

我一直在与 Google Cloud Firestore 合作。我即将 13000+ 记录从 CSV 导入到 firestore 后端。我会将此集合用于 查找 自动完成 目的。

我很想知道这是否是个好主意。此外,我正在寻找一些关于我应该使用什么技术来尽可能高效地检索这些数据的建议。我正在使用 Angular 5 并使用 AngularFire2 连接 Firestore。

文档本身真的很小如:

{
  address: {
    state: "NSW"
    street: "19 XYZ Road"
    suburb: "Darling Point"
  },
  user: {
    name: "ABC",
    company: "Property Management Company"
  }
  file_no: "AB996"
}

大部分搜索将基于文档的 file_no 属性。

更新

我刚刚将所有 13k+ 条记录导入到 Firestore。这真的很有效。但是,我有一个问题。导入记录后,我在 Firestore 控制台上收到一条消息,表明我的读取操作已达到每日限制 (5 万次操作中的 0.05 次)。我刚刚写入数据并将这些记录显示在数据 Table 中。我使用了以下查询:

this.propertyService
      .getSnapshotChanges()
      .subscribe(properties => {
        this.properties = properties;
        this.loadingIndicator = false;
      });


getSnapshotChanges(): Observable < any > {
  return this.afs.collection(this.propertiesCollection).snapshotChanges()
    .map((actions) => {
      return actions.map((snapshot) => {
        const data = snapshot.payload.doc.data();
        data.id = snapshot.payload.doc.id;
        return data;
      });
    });
}

这怎么会超出我的阅读限制?

当您使用 Cloud Firestore 时,集合中的文档数量无关紧要。这实际上是它更大的好处之一:无论集合中有多少文档,查询都将花费相同的时间。

假设您添加了 130 个文档,并且(为了举例)从中获取 10 个文档需要 1 秒。无论集合中有多少文档,这就是您将获得的性能。所以1300个文档也需要1秒,13K需要1秒,13M也需要1秒

更多开发人员 运行 遇到的问题是使他们的用例适合 Firestore API。例如:搜索字符串的唯一方法是使用所谓的前缀匹配,不支持全文搜索。这意味着您可以搜索 Prop* 并找到 Property Management Company,但不能搜索 *Man*