我有Firebase数据库的下一个查询
firebase.database().ref('users/'+userId+ubication)
.orderByChild('timestamp')
.equalTo(parseInt(timeStamp))
.once('value')
.then(snapshot=>{
console.log(snapshot);
}
);
此查询返回我唯一的一个元素,我需要从数据库中删除此元素,但我不知道如何获取它的密钥!
答案 0 :(得分:2)
作为一般做法,当您获得包含子项的快照时,可以使用forEach
循环访问它们。在此之后,您可以使用.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中的数据列表时,它们本质上非常重要!