firebase - 每次应用程序重新启动时,Firestore snapshost() 监听器是否都会读取初始文档中的每个数据?

标签 firebase google-cloud-firestore

使用 firestore snapshot() 并设置监听器时,Cloud Firestore 会向监听器发送数据的初始快照,然后在每次文档更改时发送另一个快照.

但是,如果我关闭应用程序并重新打开它,firestore 是否会读取它已查询的所有数据,或者是否存在内部同步系统(例如,如果它们存储文档元数据,例如 updatedAt 他们只能读取自 x) 以来未更新的文档?

换句话说。如果我使用 onSnapshot() 监听器,我将首先读取 x 个文档,然后每次文档更改时读取 1 个文档。我的问题是:如果我关闭应用程序并且文档发生更改,那么当我打开应用程序时,是 1 read made 还是 x + 1 ?

这对我来说很重要,因为我有很多初始电话,我想知道这会如何影响成本($)。

了解数据建模及其如何影响成本也很重要。

最佳答案

每次对服务器执行新查询(这是默认设置)时,都会花费一次读取时间,并且必须传输文档。除非没有连接,或者您专门针对查询指定了缓存,否则它不会使用缓存。退出并返回应用程序根本不会改变此行为。

我建议阅读此内容:https://medium.com/firebase-developers/firestore-clients-to-cache-or-not-to-cache-or-both-8f66a239c329

关于firebase - 每次应用程序重新启动时,Firestore snapshost() 监听器是否都会读取初始文档中的每个数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65928578/

相关文章:

firebase - Firestore分页: how to define 'startAt' -cursor for REST?

go - 如何使用Go将文档ID插入为字段值Firestore

ios - 如何在 Firestore 中存储对象数组

angular - 将文档引用作为字段过滤

java - 如何在我的第二个 Activity 中将图像上传到 Firebase 存储?

javascript - 如何使用 momentjs 从 firebase 检索多个值?

android - 组织.gradle.api.tasks.TaskExecutionException : Execution failed for task ':transformDexArchiveWithExternalLibsDexMergerForDebug'

firebase - 在使用 firestore 权限的 native 应用程序(通过 Expo)中 - request.auth 始终为 null

javascript - 按名称从 firestore 获取文档

java - Firestore 回收器适配器未获取文档名称