【问题标题】:Firestore is loading all data in every new insert or any updatesFirestore 正在加载每个新插入或任何更新中的所有数据
【发布时间】:2019-06-21 10:40:50
【问题描述】:
this.unsubscribe= this.firestore.collection('mycollection').ref.where("somecase","==","myvalue")

      .onSnapshot((data=>{}));

我需要让我的网站成为实时数据,但是当我使用上面的代码 firestore 为每个更新/插入加载所有数据时,它的成本非常高。
我只需要加载新添加的数据或更新的数据而不是全部每次都有数据。
如何在 angular6 中做到这一点?

此代码在管理网站中,这是查看订单页面集合是订单 并且从用户应用程序用户将下订单,订单将按集合顺序插入 我们需要的是当用户下订单时,我们需要在不刷新管理页面的情况下查看订单。但是现在它在不刷新的情况下显示新订单,但问题是当用户下订单时它正在加载 onSnapshot 方法中的所有文档 .我们只需要获取新订单

【问题讨论】:

    标签: angular firebase google-cloud-firestore angularfire2


    【解决方案1】:

    所以你有以下查询:

    this.firestore.collection('mycollection').ref.where("somecase","==","myvalue")
    

    当您使用onSnapshot 添加快照侦听器时,您是在询问查询结果和所有未来的更新。每次呼叫您的听众时,我们都会给您一个完整的QuerySnapshot。因此,您获得的第一个快照实际上确实从后端加载了所有匹配的文档。但是,如果稍后单个文档发生更改,我们仍会为您提供完整的 QuerySnapshot,它将先前的结果与新更改的文档相结合。在这种情况下,您只需为单个“读取”操作付费,而不是整个集合。

    有关“收听”操作计费的详细信息,请参阅此页面: https://firebase.google.com/docs/firestore/pricing#operations

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-10
      • 1970-01-01
      • 2019-12-12
      • 2012-02-29
      • 2015-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多