這是我第一次使用 FireStore。我正在開發一個使用 Flutter 的拼車應用程式,該應用程式使用 Firebase Auth,用戶可以在其中創建行程并提供類似于 BlaBlaCar 的游樂設施,其他用戶可以在其中發送加入乘車的請求。我不僅難以確定潛在的收藏和使用路徑,而且還難以確定如何構建它。
在這個階段為簡單起見,我希望任何用戶都能夠看到創建的所有行程,但是當他們進入“我的游樂設施”頁面時,他們只會看到他們參與過的游樂設施。我將不勝感激種反饋。
以下是我考慮過的選項:
兩個集合,“用戶”和“旅行”。路徑看起來像這樣: users/uid 和 trips/tripsId 帶有 created_by 欄位

一個“Users”集合和一個“Trips”子集合。路徑對我來說似乎更有意義,它是 users/uid/trips/tripId 但我不知道其他用戶如何訪問所有騎在他們的家庭飼料上。

我傾向于選擇兩個系列的第一個選項。也非常愿意接受任何其他建議或幫助。謝謝。
uj5u.com熱心網友回復:
我希望任何用戶都能看到創建的所有行程,但是當他們進入“我的游樂設施”頁面時,他們只會看到他們參與過的游樂設施
我假設參與騎行要么是作者,要么是騎行的乘客。
我會選擇 2 個系列:一個 forusers和一個 for trips。在旅行檔案中添加兩個欄位:
createdBy使用創建者的 uidparticipants: 一個陣列,用于存盤作者的 uid 和所有其他參與者的 uid(乘客)
這樣您就可以輕松查詢:
- 所有的游樂設施
- 用戶創建的所有游樂設施
- 用戶作為參與者的所有游樂設施,使用
arrayContains.
(關于檔案的最大大小限制為 1 MiB,我想這不是問題,因為乘車的乘客數量不應該太大,以至于 Array 欄位大小使檔案大于 1 Mib!)
請注意,也可以使用帶有子集合的第二種方法,因為您可以使用集合組查詢進行查詢,但是根據您問題中的元素,我看不到任何技術優勢。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/531021.html
標籤:Google Cloud Collective 扑火力基地谷歌云火库
