В мире NoSQL очень часто дублируют данные, чтобы легко писать свои запросы (вы найдете много "литературы" по этому вопросу в Интернете).
С вашей текущей структурой базы данных вам нужно будет выполнить два запроса, чтобы получить нужные данные.
Если вы продублируете данные следующим образом, вы получите информацию одним запросом:
{
"conge" : {
"-LaW8hzv8O3PSlZk6OPIJU" : {
"Mouth" : "January",
"id_user" : "LaW_9iIrm_-tiDpWEE7"
}
},
"user" : {
"-LaW_9iIrm_-tiDpWEE7" : {
"email" : "asdfasdf",
"name" : "Michel",
"prenom" : "adadfas",
"conges" : {
"January" : true,
"April" : true
}
},
"-LaWfQpaRfludVkzAPvq" : {
"email" : "dup@gmail",
"name" : "Michel",
"prenom" : "dupuis",
"conges" : {
"March" : true,
"April" : true,
"October" : true
}
},
"-LaWfTTF-Lifs79bGbhy" : {
"email" : "JC@gmail",
"name" : "Jean ",
"prenom" : "Louzis"
}
}
}
Единственный недостаток этого метода заключается в том, что вам необходимо синхронизировать два узла (т.е. conge
и user
). Но это легко сделать, одновременно записав в два узла базы данных, используя метод update (), как описано здесь: https://firebase.google.com/docs/database/web/read-and-write#update_specific_fields