如何获取所有用户的具体信息?

时间:2017-04-24 14:21:20

标签: ios swift firebase firebase-realtime-database

如何从每个用户的Firebase数据库中获取kaarsen数组?

enter image description here

2 个答案:

答案 0 :(得分:1)

您似乎正在嵌套不同类型的数据,这是Firebase数据库中的一个重要的反模式。从Firebase读取数据时,始终会读取整个节点。因此,在您的方案中,您要么读取整个用户,要么不读取它们。您无法仅为每个用户检索kaarsen节点。这是Firebase建议不要嵌套不同类型数据的众多原因之一。

在您的情况下,最好将kaarsen拆分为顶级节点:

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

使用此结构,您可以通过访问kaarsen获取所有用户的/kaarsen

答案 1 :(得分: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)
}