根据Firebase-Firestore文档,当我们基于查询启用侦听器时,snapshotListeners将提供所有可用记录。
Firestore文档:
第一个查询快照包含与该查询匹配的所有现有文档的已添加事件。这是因为您要进行一系列更改,使查询快照具有当前查询的初始状态。例如,这使您可以从在第一个查询快照中收到的更改直接填充UI,而无需添加用于处理初始状态的特殊逻辑。
据我了解,无法禁用此功能,但是有一些解决方法。
我的问题是,对于第一次初始化期间收到的每条记录,这种行为是否算作一次读取?
答案 0 :(得分:1)
我的问题是,此行为是否视为每条记录的一次读取 是否在第一次初始化期间收到?
答案是肯定的:“查询的初始状态”表示已读取与查询相对应的所有文档。
但是,如documentation中所述:
初始状态可以直接来自服务器,也可以来自本地 缓存。如果本地缓存中有可用状态,则查询 快照将首先使用缓存的数据填充。
如果初始状态来自本地缓存(请参见offline data persistence),则该状态将不会计入任何读取。