Cloud Firestore每次读取的定价

问题描述 投票:1回答:1

嗨我有以下代码块。它使用Angular fire 2从Cloud Firestore获取数据。代码工作正常。但在正常使用和测试后,我很快就超过了我每天的50,000次读取免费限额。

我想知道结果集是否返回200个项目的列表。 Firestore是否将读取数量计为1或200.(根据您可以看到的代码只有一个查询)?

如果列表中的某个数据被更改/修改,则会根据其配额和限制文档进行更多操作。这是针对所有退回的记录还是针对每条记录?即使我们使用take(1),这是否适用?

menuCol: AngularFirestoreCollection<Menu>;
menues: any;

constructor(private afs: AngularFirestore, private router : Router) { }

 ngOnInit() {
     this.menuCol = this.afs.collection('MenuItems');


        this.menues = this.menuCol.snapshotChanges().take(1)
          .map(actions => {
            return actions.map(a => {
              const data = a.payload.doc.data();
              const id = a.payload.doc.id;

              return { id, data };
            });
          });
    }
javascript angularfire2 google-cloud-firestore
1个回答
1
投票

Firebase pricing page说这是针对免费/ Spark计划项目的Cloud Firestore配额:

文件内容为:50K /天

顾名思义,这会计算Firestore代表您读取的文档数量。因此,读取200个文档的单个查询将计为200。

您当前的代码将请求所有文档,返回一个文档,然后分离观察者。所以这将阅读所有这些。

如果您只想读取一个文档,请将限制传递给observable:

 collection('MenuItems', ref => ref.limit(1))
© www.soinside.com 2019 - 2024. All rights reserved.