【问题标题】:if i have 10,000 Documents in my 'patients' firestore collection, does firesbasefiretore.collection'patients'.snapshots charges me for 10,000 read?如果我的“患者”firestore 集合中有 10,000 个文档,firebase firestore.collections patients'.snapshots 是否会向我收取 10,000 次阅读的费用?
【发布时间】:2021-11-28 11:36:59
【问题描述】:

我使用 firestore 作为管理患者信息的颤振应用程序的数据库,在我看来,所有患者屏幕我都从“患者”集合中获取所有文档

StreamBuilder<List<Patient>>(
        stream: FirebaseApi().getAllPatients,
        initialData: [],
        builder: (context, snapshot) {
          var data = snapshot.data;

我的问题是 firebase 在下一行对所有读取收费?

stream: FirebaseApi().getAllPatients,

或者,如果我在我的 StreamBuilder Builder 属性中过滤了来自流的数据,它将对过滤后使用的数据收费?

例如,如果我过滤并仅使用该流中 data.country == 'USA' 的文档(总共 100 个文档),它将被计为 100 次读取或总文档计数?

如果是这样的话,在从 firestore 获取数据之前是否可以像这样过滤数据?

【问题讨论】:

  • 阅读 Firebase API 文档。

标签: firebase flutter google-cloud-firestore


【解决方案1】:

如果集合中有 N 个文档,则您获取所有文档,那么您需要为 N 次读取付费。但是,如果您使用查询,例如where("data.country", "==", "USA") 那么您需要为符合此条件并被退回的文档数量付费。因此,如果美国有 100 个文档,那么即使集合中有数百万个文档,您也只需支付 100 次阅读费用。

您也可以paginate数据以通过仅加载所需的数据来保存读取。

【讨论】:

  • 非常感谢您的明确回答,我还有一个问题,我应该在哪里查询数据?在我传递给 StreamBuilders 的流属性的 getAllPatients 流中?还是在 StreamBuilder 的 builder 属性中?
  • 嘿@NjmJeb,结帐this answer关于使用流查询
猜你喜欢
  • 2019-06-26
  • 2018-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 2021-05-21
  • 1970-01-01
相关资源
最近更新 更多