【发布时间】:2019-06-16 19:47:42
【问题描述】:
我有一个两部分的问题。通读 Firestore 定价后,它说根据您读取和写入的文档数量以及您执行的操作(例如删除)和其他一些因素向您收费。话虽如此,我正在使用StreamBuilder,无论数据库中是否有新数据,只要滚动列表,它就会不断刷新自身。现在,构建器正在从一个数据很少的集合中获取,但该集合可以变得更大。话虽如此,我的问题是:
每次
StreamBuilder刷新自身以显示新数据时,它实际上是从Firestore collection再次获取所有文档还是只是寻找更改并更新它们?如果它再次从Firestore获取文档,Firestore是否认为这是在每次刷新时下载多个文档,还是只计算一次,如果获取的任何新文档有更新,则单独计算?如果它每 2 秒或更少(如当前行为)一次又一次地获取所有文档,有没有办法将这种说法限制为每 30 秒或每次使用
RefreshIndicator时以避免多次不必要的读取?我尝试使用StreamController,但stream仍会在每次触摸列表时或每秒刷新一次。
【问题讨论】:
-
一些允许重现的最小代码会很有帮助。
标签: firebase firebase-realtime-database dart flutter google-cloud-firestore