Моя база данных выглядит так:
Я пытаюсь получить первый ребенок unassignedBeaconIDs
, читать данные beaconID
, major
, minor
и удалить его из unassignedBeaconIDs
.
Вот мой код:
var refBeaconID = firebase.database().ref(pathToBeaconIDs).limitToFirst(1);
refBeaconID.once('value', function(snap)
{
var firstItem = snap.val(); // first item, in format {"<KEY>": "<VALUE>"}
console.log("The first item");
console.log(firstItem.beaconID);
refBeaconID.child(firstItem.key).removeValue;
});
Проблема - значение childAutoID. В результате я всегда получаю неопределенный результат.
Когда вы выполняете запрос к базе данных Firebase, потенциально может быть несколько результатов. Таким образом, снимок содержит список этих результатов. Даже если есть только один результат, моментальный снимок будет содержать список из одного результата.
Таким образом, вам нужно будет зациклиться на дочерних элементах моментального снимка в вашем обратном вызове:
var refBeaconID = firebase.database().ref(pathToBeaconIDs).limitToFirst(1);
refBeaconID.once('value', function(snap)
{
snap.forEach(function(child) {
var firstItem = child.val();
console.log("The first item");
console.log(firstItem.beaconID);
});
});
Я не совсем уверен, что refBeaconID.child(firstItem.key).removeValue;
переведено, но если вы хотите удалить дочерний child.ref.remove();
после его регистрации: child.ref.remove();
,