Я пишу веб-приложение для Firebase и хочу выполнить следующий запрос:
1. Получить данные пользователя и сохранить их как объект.
2. Получите информацию о рекомендациях, полученных пользователем - сохраненных как дочерний узел вышеупомянутого узла, и сохраните их как массив.
Вот структура данных:
"users_new": {
"the_uid_of_the_user" : {
"intro" : "",
"profile_picture" : "",
"recommended" : {
"-Ly5BN73l0y1I1--1Qe0" : {
"reco_user" : "the_uid_of_the_recommended_user",
"time" : 1578504389286
},
"-Ly5KImVVNaqC9bTHU10" : {
"reco_user" : "the_uid_of_the_recommended_user",
"time" : 1578506730832
}
},
"username" : ""
}
}
Вот часть запроса, который я изначально написал. Проблема в том, что он загрузит все «рекомендуемые» узлы сразу, и в результате будет возвращен не массив.
let profileinfo=[];
let recoarray=[];
const userinfo = () => {
const k = //some code to get the user's username;
const ref1=firebase.database.ref('users');
ref1.orderByChild('username').equalTo(k).once('value', (snapshot) => {
snapshot.forEach((pdata) => {
profileinfo.push(pdata.val());
recoarray.push(pdata.val()['recommended']); //Not stored as an array
})
})
}
Каким образом можно хранить массив рекомендаций, не делая другая ссылка? Любой совет будет приветствоваться. Спасибо!