javascript - 从 Firebase 数据库快照获取元素的键

标签 javascript firebase firebase-realtime-database

我有一个 Firebase 数据库的下一个查询

firebase.database().ref('users/'+userId+ubication)
    .orderByChild('timestamp')
    .equalTo(parseInt(timeStamp))
    .once('value')
    .then(snapshot=>{
        console.log(snapshot);
    }
);

此查询返回我唯一的一个元素,我需要从数据库中删除此元素,但我不知道如何获取它的 key !

最佳答案

作为一般做法,当您获取具有子项的快照时,您可以使用 forEach 循环访问它们。接下来,您可以使用 .key 从子元素获取 key 。无论查询返回多少子元素,都可以完成此操作。

你可以这样做:-

firebase.database().ref('users/'+userId+ubication)
    .orderByChild('timestamp')
    .equalTo(parseInt(timeStamp))
    .once('value')
    .then(snapshot=>{
        console.log(snapshot);
        var arrayOfKeys = []
        snapshot.forEach(function(child_element){
        arrayOfKeys.push(child_element.key)
    })
}
);

要删除子元素,您现在可以使用键引用路径。此外,我强烈建议您彻底理解 Promises 和异步调用,因为当您处理 Node.js 中的数据列表时,它们非常重要!

关于javascript - 从 Firebase 数据库快照获取元素的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878263/

相关文章:

javascript - Safari 中的 SVG 组元素不会触发 Wheel 事件

javascript - 未找到错误: DOM IDBDatabase Exception 8 when creating transaction in indexedDB

java - 无法使用 Push Id Firebase 弹回输入

android - 如何使用两个子值在 Firebase 中进行搜索?

json - 我们可以将电子邮件 ID 作为 Firebase 数据库中的键吗?

javascript - 克隆并重命名组件

javascript - 什么 dateTime 格式与 .NET 和 JS 兼容而无需进一步重新格式化?

javascript - 服务 worker 安装过程中的 Firebase 消息警告消息

android - 如何使用 Firebase 列表适配器

android - 同一 firebase 元素的多个模型类