首页 > 解决方案 > snapshotListener 的第一个查询快照

问题描述

根据 Firebase - Firestore 文档,当我们根据查询启用侦听器时,snapshotListeners 会提供所有可用记录。

Firestore 文档:

第一个查询快照包含与查询匹配的所有现有文档的添加事件。这是因为您获得了一组更改,这些更改使您的查询快照与查询的初始状态保持同步。例如,这允许您直接从您在第一个查询快照中收到的更改填充您的 UI,而无需添加特殊逻辑来处理初始状态。

据我了解,无法禁用此功能,但有一些解决方法。

我的问题是,对于第一次初始化期间收到的每条记录,这种行为是否算作一次读取?

标签: firebasegoogle-cloud-firestore

解决方案


我的问题是,对于第一次初始化期间收到的每条记录,这种行为是否算作一次读取?

答案是肯定的:“查询的初始状态”意味着查询对应的所有文档都被读取。


但是,如文档中所述:

初始状态可以直接来自服务器,也可以来自本地缓存。如果本地缓存中有可用的状态,则查询快照最初将填充缓存数据。

如果初始状态来自本地缓存(请参阅离线数据持久性),它将不计入任何读取。


推荐阅读