Я использую метод on () для получения снимка данных в нашей базе данных, но мне нужно иметь возможность сохранить это значение снимка, чтобы я мог использовать его для получения другого отдельного снимка.
Вот как выглядит наша база данных: База данных Firebase в реальном времени
Существует узел для пользователей и отдельный узел для устройств.У каждого пользователя есть дочерние «устройства», представляющие собой список устройств, связанных с этим пользователем.У пользователя, которого я расширил, есть только одно устройство.
Я пытаюсь сохранить это ID устройства, а затем выполнить отдельный запрос, чтобы найти это устройство в узле «Устройства».Вот как выглядит мой код:
let uid = fireBaseUser.uid;
//get a reference to the database
let database = firebase.database();
let ref = database.ref("users/").child(uid).child("devices");
ref.on("value", getData);
А затем функция обратного вызова выглядит следующим образом:
function getData(data)
{
currentDevice = Object.keys(data.val())[0];
console.log("current device: " + currentDevice);
}
, которая просто захватывает первое устройство в списке пользовательских устройств и печатает егона консоль.Я пытаюсь выяснить, как вернуть это значение, чтобы я мог использовать его при получении данных из дерева устройств.Что, я полагаю, выглядело бы примерно так:
let deviceRef = database.ref("devices/").child(retrievedValue);
deviceRef.on("value", getData2);
Где retrievedValue - идентификатор устройства, который я получил из первого запроса.
Возможно ли это сделать в javascript,или есть лучший способ?Я знаю, что подобные вопросы уже задавались, но я нашел, что все примеры, которые я видел онлайн, были действительно запутанными и не очень полезными для меня.Любая помощь будет очень признательна, потому что я застрял на этом.Спасибо!