Как я могу получить массив kaarsen из моей базы данных Firebase каждого отдельного пользователя?

enter image description here

0
Gaetano Herman 24 Апр 2017 в 17:21

2 ответа

Лучший ответ

Похоже, вы вкладываете разные типы данных, что является серьезным препятствием в базе данных Firebase. Когда вы читаете данные из Firebase, вы всегда читаете целые узлы. Таким образом, в вашем сценарии вы либо читаете пользователя целиком, либо не читаете его. Вы не можете получить только узел kaarsen для каждого пользователя. Это одна из многих причин, почему Firebase рекомендует не вкладывать разные типы данных.

В вашем случае лучше разделить kaarsen int на узел верхнего уровня:

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

С помощью этой структуры вы можете получить kaarsen для всех пользователей, обратившись к /kaarsen.

1
Frank van Puffelen 24 Апр 2017 в 15:40
    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)
}
0
Fallah 24 Апр 2017 в 15:57