我希望能夠區分我的content
兩者type
并獲取所有其他資料,但我不知道如何在content
.
我想要來自 -NBC22CHEk3ebNxdlYOi、-NBC-Nfz6e5yppFlxU7S、-NBC1TVY-TzT7yfrSA3o 的所有資料,以后可以從現有用戶和新用戶那里獲得新的視頻 ID
/content/{user_uid}/{content_uid}
如果我只想要一個用戶的內容,那么我可以這樣寫:
val uid = FirebaseAuth.getInstance().uid
// url is just a placeholder for the real database url
val ref = FirebaseDatabase.getInstance(url).getReference("/content/$uid")
uj5u.com熱心網友回復:
我想要來自所有用戶的型別值為“video”的所有內容。
對于您的實際資料庫結構,這實際上是不可能的。實時資料庫中的所有查詢都在一個平面節點串列上作業,您要對其執行過濾/排序的值必須位于每個直接子節點下的固定路徑。
不幸的是,這不是你的情況,因為你在content
節點下有一個動態鍵,它實際上是 UID,這也意味著你不能過濾type
. 如果您想允許這樣做,那么您必須創建一個平面視頻串列,其中 UID (SIH5...89j1) 是每個視頻物件內的一個屬性。這已經實作,因為publisher_uid
正是如此。
簡而言之,從資料庫樹中洗掉額外的 (UID) 級別。或者,保持原樣,并對資料進行非規范化。基本上創建一個這樣的新結構:
/content/{content_uid}
看,沒有涉及 UID。如果您是 NoSQL 資料庫的新手,這聽起來可能有些奇怪,但實際上這是一種非常普遍的做法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505221.html
標籤:Google Cloud Collective 安卓 火力基地 科特林 谷歌云平台 firebase-实时数据库