2017-04-24 32 views
0

我怎樣才能獲得kaarsen排列出每一個用戶的我的火力地堡的數據庫?如何獲取所有用戶的具體信息?

enter image description here

+0

爲什麼你認爲這是一個數組?您可以直接在/myT3.../kaarsen上訪問它。另外,請提供您的火力地堡結構TEXT請,沒有圖像 - 這樣,我們就不必重新輸入它在我們的答案。此外,請努力嘗試編寫一些代碼來完成任務,並讓我們知道你卡在哪裏。最後,回顧這個​​超級有用的文章:如何創建一個最小的,完整的,並且可驗證的示例](http://stackoverflow.com/help/mcve) – Jay

回答

1

你似乎嵌套不同類型的數據,這是在火力地堡數據庫一個大的反模式。從Firebase讀取數據時,您始終讀取整個節點。所以在你的場景中,你要麼閱讀整個用戶,要麼不閱讀。您無法僅檢索每個用戶的kaarsen節點。這是Firebase建議反對嵌入不同類型數據的衆多原因之一。

在你的情況似乎最好分裂kaarsen INT一個頂級節點:

users 
    <uid> 
    email: ... 
    geboortedatum: ... 
    naam: ... 
kaarsen 
    <uid> 
    ... 

有了這個結構,你可以通過訪問/kaarsen得到kaarsen爲所有用戶。

+0

哦,好吧,但我可以得到kaarsen陣列中的所有元素,然後爲所有用戶? –

+0

是啊,如果你附加一個偵聽'/ kaarsen'你得到它的所有用戶。 –

+0

你好,你有解決這個問題的任何想法:http://stackoverflow.com/questions/43597578/how-to-call-a-function-once-orderbychild-is-done-running? – Coder1000

0
let userID = FIRAuth.auth()?.currentUser?.uid 

ref.child("users").child(userID!).child("kaarsen").observeSingleEvent(of: .value, with: { (snapshot) in 
// Get user value 
let value = snapshot.value as! Array 
arrayOfKarsens.append(value) 

// ... 
}) { (error) in 
print(error.localizedDescription) 
} 
相關問題