Firebase - 删除节点

时间:2016-08-01 03:50:20

标签: javascript firebase firebase-realtime-database

我正在构建一个离子+角度+ firebase应用程序。 我无法从我的firebase集合中删除节点。我有一个html视图,显示一个数组中的项目列表(使用ng-repeat)。这就是我的观点:

test@testmail.com : 23
fire@firemail.com : 784

我有一个删除按钮,允许用户从数组中删除一个项目,这反过来应该从我的firebase集合中删除该对象。我想使用eventid订购集合,然后使用bill:23删除节点并发送电子邮件:" test@testmail.com"

Bill
-KMhWUkwDFwlRvqv0kDG
  bill: 23
  email: "test@testmail.com"
  eventid: **42539660**

-KN0_OUYJf_XQJSLPgmi
 bill: 784
 email: "fire@firemail.com"
 eventid: **42539660**

我可以使用查询获得具有特定情况的所有账单:

var id = 42539660;
billref.orderByChild('eventid').equalTo(id).on("value", function (snapshot) {
}

但我不知道如何从这里开始删除特定节点。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

如果要删除查询匹配的节点:

var id = 42539660;
billref.orderByChild('eventid').equalTo(id).on("value", function (snapshot) {
  snapshot.forEach(function(childSnapshot) {
    childSnapshot.ref.remove();
  });
}

或者,您可以使用child_added来消除对循环的需求:

var id = 42539660;
billref.orderByChild('eventid').equalTo(id).on("child_added", function (snapshot) {
  snapshot.ref.remove();
}