Cloud Firestore 数据库结构

Cloud Firestore database structuring

Cloud Firestore 的 Android 示例应用具有如下所示的数据库结构:

现在考虑第一家餐厅有大量评分的情况(这里的评分是第一家餐厅 ID 中其他文档的集合),我只想显示所有餐厅的基本详细信息,例如名称和城市。

我将通过创建如下所示的引用来完成此操作:

mRestaurantRef = mFirestore.collection("restaurants").document(restaurantId);

我有以下问题:

Firestore 优于 RTDB 的主要 differences/advantages 之一是,如果您请求快照,则不会检索文档的子集合。

这意味着当您调用 mRestaurantRef.get()

时,只会加载基本详情,不会加载评分

之后您可以通过单独的查询检索餐厅的评分(或有限数量的评分)。

您也可以调用 mFirestore.collection("restaurants").get()(必要时使用 where/orderBy/limit)以获取所有餐厅的文档快照列表。同样,将仅检索独立于任何评级的基本数据。