相关疑难解决方法(0)

Firestore - 使用缓存直到在线内容更新

我从Firestore开始.我已经阅读了有关离线数据持久性的文档和教程,但我还不清楚Firestore是否会再次下载数据,即使内容尚未修改.例如,如果我有一个查询,结果将每周更新一次,我不需要应用程序再次下载内容,直到进行更改,编写代码的效率方面的最佳方法是什么?谢谢!

persistence caching offline download google-cloud-firestore

14
推荐指数
1
解决办法
1万
查看次数

Firestore 查询再次读取所有文档(从数据库中),即使启用了持久性也只修改了一个

预期行为:我假设当文档的某个字段被修改时,查询只会返回该文档,因此它只会被视为 1 次读取。假设我查询一个包含 n 个文档的集合,我希望它的初始状态为 n 次读取,如果稍后修改文档,则只会从数据库中再次读取该文档,从而总共读取 n+1 次。

我看到的 是最初读取 n 次,每当修改一个文档时 n 次读取,无论是否启用离线持久性;导致 2n 次读取所有“ fromCache : false ”元数据。

  myCollection: 
         doc1 : 
              value: "some string"
         ...
         docn: 
             value: "some text" 
Run Code Online (Sandbox Code Playgroud)

后来我通过控制台更改了一个文档的值:

     myCollection: 
         doc1 : 
              value: "changed to other value"
         ...
         docn: 
             value: "some text" 
Run Code Online (Sandbox Code Playgroud)

但是我在查询的快照中再次获得了所有 n 个文档。尽管我可以使用“s.docChanges”观察更改,但快照似乎包含所有 n 个文档。

  const someCollectionRef = firebase.firestore().collection("collection/document/subdocl??lection"); 
  someCollectionRef.onSnapshot(s => {

      var d = [];
      s.forEach(doc => {

           d.push(doc.data()));

           //fromCache is always false even when one document is …
Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-firestore

9
推荐指数
1
解决办法
4017
查看次数