首页 > 解决方案 > 如果我的“患者”firestore 集合中有 10,000 个文档,firesbasefiretore.collection'patients'.snapshots 会收取 10,000 次阅读的费用吗?

问题描述

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

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获取数据之前是否可以过滤这样的数据?

标签: firebasefluttergoogle-cloud-firestore

解决方案


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

您还可以通过仅加载所需的数据来对数据进行分页以保存读取。


推荐阅读