Cloud Firestore每次读取的定价

时间:2018-01-04 19:11:43

标签: javascript angularfire2 google-cloud-firestore

您好我正在使用以下代码块。它使用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 };
            });
          });
    }

1 个答案:

答案 0 :(得分:1)

对于免费/ Spark计划中的项目,Firebase pricing page说明了Cloud Firestore的配额:

  

文件读取:50K /天

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

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

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

 collection('MenuItems', ref => ref.limit(1))