上下文: 假设我有一个显示餐厅列表和要显示的100000家餐厅的应用程序。 每个餐厅都属于一个类别。例如:印度菜。 我想向用户显示他们要查看的各个类别。
方法1:将所有餐厅添加到集合中,并将文档ID保存在属于指定类别的数组中。因此,如果我要所有印度餐厅,我将得到一个包含所有印度餐厅ID并加载它们的数组Indian。
方法2:将所有餐厅添加到集合中,并为每个文档指定一个类别。因此,当用户需要印度餐厅列表时,我只需使用where()即可将其过滤掉。 在这种方法中,firestore是否会为我所有的100000个文档读取开票,这种方法有效吗?
有解决这个问题的更好方法吗?
答案 0 :(得分:1)
它们是相同的。
Firestore不对与查询不匹配的文档收费。当您使用过滤器来匹配查询中的文档时,您只需要为查询返回的文档付费。
使用任何一种方法,然后选择最适合您的方法。