2017-10-06 175 views
2

雲公司的FireStore Android的示例應用程序具有數據庫結構如下圖所示:雲公司的FireStore數據庫結構

enter image description here

現在考慮其中的第一家餐廳有非常多的收視率的情況(這裏評級是以及第一家餐廳ID中的其他文檔),我只想顯示所有餐廳的基本信息,如名稱和城市。

,如下圖所示我將通過創建一個參考實現這一點:

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

我有以下有關此問題:

  • 這是做的,因爲我得到一個文件的快照的正確方法還包括我現在不需要的收視率收藏,因爲它可以降低加載速度?
  • 我應該像Firebase實時數據庫那樣更改Firestore數據庫結構並將其平坦化嗎?

回答

4

Firestore與RTDB的主要區別/優點之一是,如果請求快照,文檔的子集合將不會被檢索。

這意味着,只有基本的細節,而不是收視率會被加載,當你調用mRestaurantRef.get()

您以後可以用一個單獨的查詢檢索餐廳的收視率(或分級的數量有限)。

您也可以撥打mFirestore.collection("restaurants").get()(必要時使用where/orderBy/limit)來獲取所有餐廳的文檔快照列表。同樣,只有基礎數據纔會被檢索出來,與任何評級無關。

+0

謝謝。我不知道:) –