【问题标题】:How to Firebase Firestore realtime update Only new data added to collect?如何 Firebase Firestore 实时更新只添加新数据来收集?
【发布时间】:2019-09-13 18:49:06
【问题描述】:

例如:WorkingTask 应用程序。我使用 Redux - React

结构

JobOrders(集合)/ eachJob(文档)

- the app is allow only insert new JOB.
- the whole day has 500-1000 Jobs.
- the all jobs must be used to recompute the report realtime.  
- clear data once every midnight.

我知道如何获取和监听整个回调。 但问题是回调函数必须重新计算整个文档(每次新 JOB 到达时可能需要 300-1000 个工作。)

这就是我想要的:

- every new JOB arrived only new data in callback then I can recompute in REDUX.  

- and prevent for some data is delay due to internet network connection.

我遇到 : to listen limit to 1 and sortBy timestamp 'desc'。

但问题是如果某些JOB由于网络连接而延迟,它不会调用回调。

【问题讨论】:

    标签: firebase firebase-realtime-database redux google-cloud-firestore


    【解决方案1】:

    我也在寻找这个问题,但现在我发现了 onAddSnapshotListener // 作为实时更新。 只获取新的或更改的文档

    https://youtu.be/3aoxOtMM2rc?t=195

    尝试观看整个系列

    【讨论】:

    • 能否请您直接在答案中添加更多细节?
    【解决方案2】:

    我认为 Firestore querySnaptshot 应该有更改文档的信息

    例如Node.js

    let observer = db
      .collection('cities')
      .where('state', '==', 'CA')
      .onSnapshot(querySnapshot => {
        querySnapshot.docChanges().forEach(change => {
          if (change.type === 'added') {
            console.log('New city: ', change.doc.data());
          }
          if (change.type === 'modified') {
            console.log('Modified city: ', change.doc.data());
          }
          if (change.type === 'removed') {
            console.log('Removed city: ', change.doc.data());
          }
        });
      });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2022-06-10
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      相关资源
      最近更新 更多