this.unsubscribe= this.firestore.collection('mycollection').ref.where("somecase","==","myvalue")
.onSnapshot((data=>{}));
我需要使我的网站处于活动状态,但是当我使用上述代码firestore加载每次更新/插入的所有数据时,这非常昂贵。
我只需要加载新添加的数据或更新的数据,而无需加载每次都保存所有数据。
如何在angular6中进行处理?
此代码位于管理网站中,这是查看订单页面集合是订单 并且从用户应用程序中,用户将下达订单,并且订单将插入到收集订单中 我们需要的是,当用户下订单时,我们需要查看订单而不刷新管理页面。但是现在它显示了新订单而没有刷新,但问题是当用户下订单时它正在onSnapshot方法中加载所有文档 。我们只需要获取新订单
答案 0 :(得分:0)
因此,您有以下查询:
this.firestore.collection('mycollection').ref.where("somecase","==","myvalue")
使用onSnapshot
添加快照侦听器时,您要查询的结果以及所有将来的更新。每次呼叫您的听众时,我们都会给您完整的QuerySnapshot
。因此,您获得的第一个快照实际上确实从后端加载了所有匹配的文档。但是,如果以后更改单个文档,我们仍将为您提供完整的QuerySnapshot,它将先前的结果与新更改的文档结合在一起。在这种情况下,您只需为一个“读取”操作付费,而无需为整个设置付费。
有关“听”操作计费的更多信息,请参见以下页面: https://firebase.google.com/docs/firestore/pricing#operations