我有一个 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/