1
如果你想保存在一個節點的多個相同類型的孩子,那麼每個孩子將有自己的唯一標識符childByAutoId
將是有用的。Firebase規則來訪問特定的孩子的價值
List:{
KJHBJJHB:{
name:List-1,
owner:John Doe,
user_id:<Fire base generated User_id>
},
KhBHJBJjJ:{
name:List-2,
owner:Jane Lannister,
user_id:<Fire base generated User_id>
},
KhBHJZJjZ:{
name:List-3,
owner:John Doe,
user_id:<Fire base generated User_id>
}
}
我想用下面的代碼的幫助來訪問List
:
let ref = FIRDatabase.database().reference(withPath: "/List")
當前用戶登錄到應用程序是John Doe
。當用戶訪問列表時,我想要所有List
孩子的主人是John Doe
(即List-1
& List-3
),並忽略其他子值。
我是否必須在我的應用程序中執行此操作,或者可以通過Firebase安全規則來實現嗎?
我現在的規則定義是:
"List":{
".read": "root.child('List/'+root.child('List').val()+'/user_id').val() === auth.uid" }
但這個規則沒有給我任何的成功。任何想法如何實現預期的結果?
您是否嘗試過使用查詢? – gasho
@gasho是的,使用查詢我可以拉下整個分支,然後只保留我需要的。 但實際上我試圖從firebase本身提取所需的數據,這樣我就不必在我的應用程序端運行任何查詢。 –