构建Firestore以提高效率并减少读取次数

时间:2020-06-30 07:55:06

标签: database firebase google-cloud-firestore nosql

上下文: 假设我有一个显示餐厅列表和要显示的100000家餐厅的应用程序。 每个餐厅都属于一个类别。例如:印度菜。 我想向用户显示他们要查看的各个类别。

方法1:将所有餐厅添加到集合中,并将文档ID保存在属于指定类别的数组中。因此,如果我要所有印度餐厅​​,我将得到一个包含所有印度餐厅​​ID并加载它们的数组Indian。

方法2:将所有餐厅添加到集合中,并为每个文档指定一个类别。因此,当用户需要印度餐厅列表时,我只需使用where()即可将其过滤掉。 在这种方法中,firestore是否会为我所有的100000个文档读取开票,这种方法有效吗?

有解决这个问题的更好方法吗?

1 个答案:

答案 0 :(得分:1)

它们是相同的。

Firestore不对与查询不匹配的文档收费。当您使用过滤器来匹配查询中的文档时,您只需要为查询返回的文档付费。

使用任何一种方法,然后选择最适合您的方法。