Учитывая ваши комментарии и сообщения, вы хотите создать цели для каждого пользователя отдельно. Используя вашу фактическую структуру, у вас есть пользователи и цели отдельно. Чтобы решить эту проблему, я рекомендую вам другую структуру базы данных, которая выглядит следующим образом:
Firebase-root
|
--- targets
|
--- uid
|
--- pushedId
| |
| --- description: "some description"
| |
| --- name: "Vadim"
|
--- pushedId
|
--- description: "another description"
|
--- name: "Morozov"
Чтобы получить все цели, которые соответствуют определенному пользователю, просто используйте следующий запрос:
val uid = FirebaseAuth.getInstance().currentUser!!.uid
val rootRef = FirebaseDatabase.getInstance().getReference()
val uidRef = rootRef.child("targets").child(uid)
uidRef.addListenerForSingleValueEvent(/* ... */);
Альтернативная структура базы данных может быть:
Firebase-root
|
--- targets
|
--- pushedId
| |
| --- description: "some description"
| |
| --- name: "Vadim"
| |
| --- uid: "VDMQ ... 0nw1"
|
--- pushedId
|
--- description: "another description"
|
--- name: "Svetlana"
|
--- uid: "eluk ... PJu1"
Как вы можете видеть, он имеет уровень меньше, чем предыдущая структура. Теперь, чтобы получить все цели, которые соответствуют определенному пользователю, используйте следующий запрос:
val uid = FirebaseAuth.getInstance().currentUser!!.uid
val rootRef = FirebaseDatabase.getInstance().getReference()
val targetsRef = rootRef.child("targets").orderByChild("uid").equalTo(uid)
targetsRef.addListenerForSingleValueEvent(/* ... */);
Так что вам решать, какой из них лучше для вас.