构建 Firestore 以提高效率和最少读取



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

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

方法 2:将所有餐厅添加到集合中,并为每个文档指定一个类别。因此,当用户需要印度餐厅列表时,我只会使用 where(( 来过滤它们。 在这种方法中,Firestore 是否向我收取所有 100000 次文档读取的费用,这种方法是否有效?

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

它们是相同的。

Firestore 不对与查询不匹配的文档收费。使用筛选器匹配查询中的文档时,只需对从查询返回的文档收取读取费用。

使用任一方法并选择最适合您的方法。

最新更新