如何删除firebase实时数据库的子节点与关键?



当我尝试运行下面的代码时,我得到一个错误,我不知道为什么。

confirmDelete(e) {
const db = getDatabase();
db.ref("/ships/" + e.target.id).remove();
},

如果我记录e.target.id,我得到的与shipKey完全相同在下面的代码中

下面是一个数据库的示例:

{
"ships": {
"-N43Q4E2ruMpyfaIHGDK": {
"date": "2022-08-06T18:00",
"name": "ORANGE OCEAN",
"shipKey": "-N43Q4E2ruMpyfaIHGDK"
}
}
}

似乎您正在使用Firebase模块化SDK (V9.0.0+),其中ref()remove()都是顶级功能。尝试重构代码,如下所示:

// import the functions
import { getDatabase, ref, remove } from "firebase/database";
confirmDelete(e) {
const db = getDatabase();

// create DatabaseReference
const dbRef = ref(db, "/ships/" + e.target.id);
remove(dbRef).then(() => console.log("Deleted"))
},

查看文档以了解更多关于新语法的信息。

最新更新