这是我第一次使用firebase。我的数据库看起来像是:enter image description here
我有密钥,想要删除该密钥的节点:
var dataKey = $("#trainClicked").attr("data-key");
var ref = database.ref("trains/" + changeTrain);
ref.on('value', function (snapshot) {
console.log(snapshot)
if (snapshot === null) {
console.log("does not exist")
} else {
return database.ref().remove(dataKey)
}
});
这将删除整个数据库并发出错误:
return database.ref().remove(dataKey)
我已阅读过firebase文档和许多帖子,但我仍然无法让它工作。提前谢谢。
答案 0 :(得分:0)
Reference.remove()
不接受任何参数,而是删除您调用它的引用上的数据。由于您在数据库的根目录上调用remove()
,因此将删除所有数据。
您在这里寻找ref.remove()
或snapshot.ref.remove()
。
答案 1 :(得分:0)
只需在该节点上运行空.set()
命令即可。这将删除所有内容。如果运行空.set()
,则将删除整个数据库。 : - )
答案 2 :(得分:0)
这是有效的代码:
var dataKey = $("#train-clicked").attr("data-key");
var ref = database.ref("trains/" + dataKey)
ref.once('value', function (snapshot) {
if (snapshot === null) {
console.log("does not exist")
} else {
snapshot.ref.remove();
}
更改snapshot.ref.remove()行,但也改变ref.on到ref.once ....当它是.on它工作一次但是它给出了一个错误,因为它试图读取的东西不是还有(我想)。