在Firestore中花费了大量阅读

问题描述

我在浏览器中打开了我的应用程序的两个实例。在第一次增加中,我创建了公司名称。在第二例中,打开了一家公司下拉菜单添加新公司后,在第二个标签中,它会立即立即再次调用所有列表,这使我花了很多钱。

例如,如果已经下载了20家公司,并且如果添加了新公司,则它正在加载21,导致21次读取。 相反,它应该只加载新的。

ngOnInit上使用代码获取公司列表

    //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();
  }

我该如何控制它,使其仅加载新项目,而不是全部加载?

附加图片以提高清晰度:

enter image description here

enter image description here

解决方法

通过阅读Firebase文档[1],我发现了一些有关读取操作的重要信息。似乎可能有助于您理解应将哪些内容计入读取操作。此公共博客[2]还将描述如何减少Firestore中的读取操作数量,这可能会对您有帮助。另外,您可以查看此[3]文档,可能会提供有关在Firestore中读取数据的更多见解。

[1] https://firebase.google.com/docs/firestore/pricing#listens

[2] https://medium.com/firebase-tips-tricks/how-to-reduce-the-number-of-read-operations-in-cloud-firestore-9f9d6f5a271

[3] https://firebase.google.com/docs/firestore/query-data/get-data