Android 云Firestore数据库结构

Android 云Firestore数据库结构,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,云Firestore的Android示例应用程序的数据库结构如下所示: mRestaurantRef = mFirestore.collection("restaurants").document(restaurantId); 现在考虑的情况是,第一家餐馆的收视率非常多(这里的收视率是第一家餐厅ID中的其他文件的集合),我只想显示所有餐馆的名字,比如名字和城市。 我将通过创建如下所示的引用来实现这一点: mRestaurantRef = mFirestore.collection("rest

云Firestore的Android示例应用程序的数据库结构如下所示:

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

现在考虑的情况是,第一家餐馆的收视率非常多(这里的收视率是第一家餐厅ID中的其他文件的集合),我只想显示所有餐馆的名字,比如名字和城市。 我将通过创建如下所示的引用来实现这一点:

mRestaurantRef = mFirestore.collection("restaurants").document(restaurantId);
关于这一点,我有以下问题:

  • 这是正确的方法吗?因为我得到了一个文档快照,其中还包括我现在不需要的评级集合,因为它可以降低加载速度
  • 我是否应该像在firebase实时数据库中那样更改firestore数据库结构并将其展平

Firestore与RTDB的主要区别/优势之一是,如果您请求快照,将无法检索文档的子集合

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

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


您还可以调用
mFirestore.collection(“餐厅”).get()
(必要时使用where/orderBy/limit)来获取所有餐厅的文档快照列表。同样,仅检索基本数据,与任何评级无关。

谢谢。我不知道:)