firebase - 如果我的“患者”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获取数据之前是否可以过滤这样的数据?
解决方案
如果集合中有 N 个文档,您获取所有文档,那么您需要为 N 次读取付费。但是,如果您使用查询,例如,您需要为符合此条件并返回where("data.country", "==", "USA")
的文档数量付费。因此,如果美国有 100 个文档,那么即使集合中有数百万个文档,您也只需支付 100 次阅读费用。
您还可以通过仅加载所需的数据来对数据进行分页以保存读取。
推荐阅读
- jquery - 单选按钮在 jquery formbuilder 中不起作用
- airflow - Airflow:如何取出一个现在没有包含在 DAG 中的任务?
- flutter - Flutter - 如何在 sliverappbar 中添加自定义标签栏?
- javascript - Cypress Cucumber Step 运行多个步骤
- android - 如何更改已知项目保存在 SharedPrefrence 中并将图标设置为菜单中的收藏夹?
- powerbi - 如果为空则跳过一条记录
- eclipse - 更改scala编译器版本时找不到或加载主类错误
- webpack - 为 localhost 配置 HTTPS 以通过 USB 访问手机上的麦克风
- kdb - 如何在kdb的列名中选择包含点的列
- c - 当我想保护对向量的修改时,如果尝试使用 const 子句,为什么它不起作用?