Cloud Firestore 每次读取定价
Posted
技术标签:
【中文标题】Cloud Firestore 每次读取定价【英文标题】:Cloud Firestore Pricing per read 【发布时间】:2018-01-04 19:11:42 【问题描述】:您好,我有以下代码块。它使用 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】:Firebase pricing page 表示免费/Spark 计划项目的 Cloud Firestore 配额:
文档读取:50K/天
顾名思义,这会计算 Firestore 代表您读取的文档数量。因此,读取 200 个文档的单个查询将计为 200 个。
您当前的代码将请求所有文档,返回一个,然后分离观察者。这样就可以读取所有内容。
如果你只想读取一个文档,将limit传入observable:
collection('MenuItems', ref => ref.limit(1))
【讨论】:
以上是关于Cloud Firestore 每次读取定价的主要内容,如果未能解决你的问题,请参考以下文章
Firestore 读/写定价; .limit(25) 算作 25 次读取还是 1 次?