javascript - Firebase Web 从 autoChildID 获取第一个子数据

标签 javascript firebase web firebase-realtime-database

我的数据库如下所示:

Database image

我正在尝试获取unassignedBeaconIDs的第一个 child ,读取数据beaconIDmajorminor并将其从 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。删除();

关于javascript - Firebase Web 从 autoChildID 获取第一个子数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365794/

相关文章:

android - 使用 Kotlin 和 Firebase 触发带有 onAuthStateChanged 回调的 sendEmailVerification

forms - HTTP 参数名称中的下划线与破折号

javascript - webgl 图像 slider

javascript - 等待在 nextjs 页面加载 paypal 脚本

swift - Firebase 2,访问快照中的子值会产生空值

javascript - 当我在 IE 的 View 中聚焦 dom 时,body scrollTop 发生了变化

javascript - Firebase 和 Algolia 确保搜索没有搜索命中

javascript - 待办事项列表关闭按钮出现问题

javascript - 散点图实现的固定轴

javascript - 使 Flickity 图像适合