问题描述
我在浏览器中打开了我的应用程序的两个实例。在第一次增加中,我创建了公司名称。在第二例中,打开了一家公司下拉菜单。添加新公司后,在第二个标签中,它会立即立即再次调用所有列表,这使我花了很多钱。
例如,如果已经下载了20家公司,并且如果添加了新公司,则它正在加载21,导致21次读取。 相反,它应该只加载新的。
//start fetch
this.crudService.read_guardcompany().subscribe(data => {
this.bucketlist = data.map(e => {
return {
name: e.payload.doc.data()['companyname'],docid: e.payload.doc.id,};
})
console.log(this.bucketlist);
});//end fetch
crud.service 代码
read_guardcompany() {
return this.firestore.collection('guardscompanies').snapshotChanges();
}
我该如何控制它,使其仅加载新项目,而不是全部加载?
附加图片以提高清晰度:
解决方法
通过阅读Firebase文档[1],我发现了一些有关读取操作的重要信息。似乎可能有助于您理解应将哪些内容计入读取操作。此公共博客[2]还将描述如何减少Firestore中的读取操作数量,这可能会对您有帮助。另外,您可以查看此[3]文档,可能会提供有关在Firestore中读取数据的更多见解。
[1] https://firebase.google.com/docs/firestore/pricing#listens
[3] https://firebase.google.com/docs/firestore/query-data/get-data