angular - 无法删除 Firebase 数据库的节点
问题描述
我调用函数删除如下:
<div *ngFor="let out of cart_checkouts">
<button type="button" (click)="RemoveCheckoutRecord(out.checkoutID)">Delete</button>
</div>
这将执行以下功能:
RemoveCheckoutRecord(rowID) {
this.firestore.doc('cart_checkouts/' + rowID).delete();
}
我也试过:
RemoveCheckoutRecord(rowID) {
var db = firebase.database();
var ref = db.ref("cart_checkouts");
ref.child(rowID).remove();
}
这两个函数都没有抛出错误;他们根本行不通。前面两个函数似乎只是用于集合,这是实时数据库上的一个节点而不是集合。
以下工作删除节点 -MRGk9sayjVDB8F15TM3 但我需要通过 checkoutID 删除它,因为我无法通过它们的键引用节点。
var db = firebase.database();
var ref = db.ref("cart_checkouts/-MRGk9sayjVDB8F15TM3");
ref.remove();
数据库结构如下所示:
cart_checkouts
- MRGk9sSNzdImNPmfFJo
-- checkoutID: 1
-- checkoutProductName: "Adult Female Bike"
- MRLp4ettEMfSZjnBSGF
-- checkoutID: 3
-- checkoutProductName: "Adult Unisex Helmet"
解决方案
您说删除正在对 db ref 起作用;尝试下面的代码以根据 rowID 获取此引用
RemoveCheckoutRecord(rowID) {
var db = firebase.database();
var ref = db.ref("cart_checkouts/" + rowID).remove();
}
推荐阅读
- html - 从网站(html/css)打印绝对固定位置,打印对话框中没有系统边框
- python - 遍历列表以执行请求
- outlook - Outlook 插件在 Mac 上的新 Outlook 中的共享邮箱中不起作用
- google-apps-script - 谷歌插件无法为谷歌测试器启动
- javascript - 为什么 repl.it 不能加载默认字体配置?
- vb.net - VBNet 更改过期或一次性密码帐户的 Active Directory 密码
- sql - 如何将这些查询组合成一个查询?还是一个 pl/sql 存储过程?
- azure - 使用 SSH 连接到 AKS 群集节点
- javascript - JavaScript,函数获取具有所需值总和的 Array 的 Array。组合式
- excel - Excel VBA - 添加公式会出错