Firebase Firestore-有关读/写的问题

时间:2019-06-29 14:17:35

标签: firebase google-cloud-firestore

我对Firestore DB中的读/写有疑问。 情况是:

我有一个集合“城市”(例如20个城市),并且有一个子集合“餐馆”(例如500个餐馆):

现在我的问题是:当我想在一个城市中获得所有餐厅时,Firestore会读取几笔? 500?

当我要添加餐厅时:是否只需写1即可将此文档添加到子集合?

2 个答案:

答案 0 :(得分:2)

正如安德列斯(Andres)所说:您需要为文档读取和写入付费。不管文档来自哪个集合或子集合,每次服务器代表您读取文档时,您都要为该文档的读取付费。

因此,如果您从一个城市的子集合中读取了500个餐厅文档,则需要为500个文档读取费用。如果将单个文档添加到该子集合,则需要为写入单个文档付费。

如果您经常发现自己正在阅读同一套文档(例如,该城市的所有用户使用相同的500家餐厅),请考虑创建一个数据模型以减少需要阅读的文档数量。例如:您可能需要每个餐厅的信息的一部分,因此您可以将城市中所有餐厅的信息提取到“顶级餐厅列表”文档中。在NoSQL数据库中,这种类型的数据复制是很正常的,并且是以合理的成本保持良好性能的关键。

另请参阅:

答案 1 :(得分:1)

一个文档的读/写总是相同的,它可能在一个集合中,或者在一个子集合中,或者在一个子集合的子集合中,或者在sub-sub的一个子集合中……你就知道了:)