删除firebase中的节点

Posted

技术标签:

【中文标题】删除firebase中的节点【英文标题】:delete node in firebase 【发布时间】:2016-09-14 11:07:24 【问题描述】:

一直在阅读文档和其他帖子,但我无法删除节点。我正在尝试按值选择节点。

  var eventContactsRef = firebase.database().ref('events-contacts');
  eventContactsRef.orderByChild('eventContactId').equalTo(eventContactId);

然后对结果调用remove方法

 eventContactsRef.remove(function (error) 
    console.log(error);
  );

除了空错误值之外什么都没有发生。我使用的是最新的 firebase,大多数示例都是针对旧版本的,所以我不确定是否需要获取密钥然后尝试将其作为参考删除?

这是第一次使用 firebase,所以我不确定我是否正确保存了数据。这是要保存的代码。

 var key = firebase.database().ref().child('event-contacts').push().key;
  var url = firebase.database().ref('/event-contacts/' + key);
  url.set(eventContacts);

和截图

【问题讨论】:

【参考方案1】:

您不能删除查询本身。您只能删除与查询匹配的结果

var eventContactsRef = firebase.database().ref('events-contacts');
var query = eventContactsRef.orderByChild('eventContactId').equalTo(eventContactId);
query.on('child_added', function(snapshot) 
    snapshot.ref.remove();
)

【讨论】:

所以我插入了代码并且查询确实到达了回调函数。将 child_added 切换为 value 并运行该函数,但快照为空。请查看更新以发布 刚刚发现错字。我有事件联系人而不是事件联系人。一切正常。谢谢 谢谢,但我不需要搜索我已经拥有的 ref。

以上是关于删除firebase中的节点的主要内容,如果未能解决你的问题,请参考以下文章

如何从 ListView 中删除 Firebase Android 中的特定节点

从firebase android中删除自动关键节点

Firebase -- 批量删除子节点

从firebase删除时数组索引超出范围

删除节点 Firebase 下的所有项目

如何删除 Firebase 节点中除最近的 X 子节点之外的所有子节点?