假设我在某个日期范围或某个范围内对Firestore集合进行了查询。如果我能观察到该组文档并对其进行遍历以建立本地集合,那么每次Firestore中发生更改时,它都会从Firestore中重新读取所有数据吗?说这个可观察的是来自一个包含500个文档的where子句,我通过做一些事情来进行迭代:
this.firestoreObservable$.subscribe(documents => {
documents.forEach(async doc => {
// do something
})
})
如果一个文档上的一个字段在Firestore上发生更改,那么该字段是否会算作另一500个文档读取?如果是这样(哎呀!),推荐的最佳实践是避免花费这么多的读物?
谢谢。
没有如果仅更改一份文档,则只需阅读一遍。只要查询正在积极侦听更新,整套文档就会缓存在内存中,并且SDK会为您提供缓存的结果以及实际更改的内容。
如果查询结束并且开始新的查询,则将再次向您收取全部结果的费用。