【发布时间】:2020-01-08 20:07:43
【问题描述】:
我需要有关如何删除 Firebase 条目的帮助
我在 javascript 中有以下代码:
document.getElementById('deleteDriver_btn').onclick = function() {
firebase.database().ref('drivers').child('driver_num').on('value', function(driverSnapshot) {
var driverChildSnapshot = driverSnapshot.val();
var queryRef = firebase.database().ref('drivers').orderByChild('driver_num').equalTo(dataRow);
queryRef.remove();
});
};
我收到一条错误消息,提示 queryRef.remove() 不是函数。
Firebase 条目如下:
---driver
--AKSJDIWDKSADKAWsdak <---- want to delete this and the data underneath
-driver_num
-first_name
-last_name
--akdjwoajdksafksndjiw <---- want to retain this
-driver_num
-first_name
-last_name
【问题讨论】:
-
我认为这是因为你的 equalTo 调用返回一个 Query 对象而不是一个 ref firebase.google.com/docs/reference/js/… 所以如果你检查 queryRef 它将是一个 Query 而不是你期望的一个 ref。如果您将
.ref添加到末尾以获取引用本身,然后调用remove 是否有效?例如queryRef.ref.remove();也不是这些看起来像异步操作,所以也许你错过了回调或需要使用async/await -
我尝试了
queryRef.ref.remove();,它删除了drivers下的所有孩子。 -
您可以使用limitToFirst 来获得可能在查询或参考上的第一个结果吗? firebase.google.com/docs/reference/js/…firebase.google.com/docs/reference/js/…
-
我终于知道如何感谢这些链接。非常感谢!
标签: javascript firebase-realtime-database