如何在javascript中删除firebase实时数据库中的节点

如何在javascript中删除firebase实时数据库中的节点,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我很难删除firebase实时数据库中的节点 这就是我的firebase实时数据库的外观: 这就是我所尝试的,遵循和: (一) 使用上面的代码,当我单击删除整个数据时(包括聊天在内的所有节点)都被删除了 (二) 我让它按预期工作,但它只删除了/chats中的最后一个节点,我想指定要删除的chat/uid (三) 这根本没有导致任何事情发生。我在try/catch中看到了这一点,单击“delete”导致尝试运行,但没有发现错误。数据库里什么也没发生 (四) 结果与上面第3条相同——没有发生任何事

我很难删除firebase实时数据库中的节点

这就是我的firebase实时数据库的外观:

这就是我所尝试的,遵循和:

(一)

使用上面的代码,当我单击删除整个数据时(包括聊天在内的所有节点)都被删除了

(二)

我让它按预期工作,但它只删除了/chats中的最后一个节点,我想指定要删除的
chat/uid

(三)

这根本没有导致任何事情发生。我在try/catch中看到了这一点,单击“delete”导致尝试运行,但没有发现错误。数据库里什么也没发生

(四)

结果与上面第3条相同——没有发生任何事情,在try/catch中也没有发现任何错误

更新:我尝试了以下操作,但这会删除整个
聊天
数据,而不是只删除我想要删除的节点:

      let chatRef = db.ref("/chats");
      chatRef
        .orderByChild("uid")
        .equalTo(chatId)
        .once("value")
        .then(function (snapshot) {
          snapshot.forEach((childSnapshot) => {
            //remove each child
            chatRef.child(childSnapshot.key).remove();
          });
        });

您的第四个示例应该有效,但您有一个输入错误:

let chatRef = db.ref("/chats/MJy8cxO85ldEnDScsWZ");
它应该是:

let chatRef = db.ref("/chats/-MJy8cxO85ldEnDScsWZ");

您缺少了“M”之前的“-”。

您的第一次尝试看起来差不多正确。我唯一要更改的是使用
.once(“value”,…)
而不是谢谢菲尔!我找到并再次尝试了我的第一次尝试,稍微重写了一下:“let chatRef=db.ref(“/chats”);chatRef.orderByChild(“uid”).equalTo(chatId).once(“value”).then(函数(快照){snapshot.forEach((childSnapshot)=>{//删除每个子chatRef.child(childSnapshot.key).remove();};});`但是,这会删除聊天中的全部数据,而不是单个节点/太棒了,谢谢你!你说得对,我没有意识到
-M
是字符串的一部分。您知道是否有一种基于
uid
(例如
5zuzvwybydcbteclgpm0T08bevn1
)的值检索密钥(例如
-mjy8cxo85ldenscswz
)的简单方法吗?当然,您应该学习如何按照文档中的描述执行筛选查询。
      let chatRef = db.ref("/chats/MJy8cxO85ldEnDScsWZ");
      chatRef.remove();
      let chatRef = db.ref("/chats");
      chatRef
        .orderByChild("uid")
        .equalTo(chatId)
        .once("value")
        .then(function (snapshot) {
          snapshot.forEach((childSnapshot) => {
            //remove each child
            chatRef.child(childSnapshot.key).remove();
          });
        });
let chatRef = db.ref("/chats/MJy8cxO85ldEnDScsWZ");
let chatRef = db.ref("/chats/-MJy8cxO85ldEnDScsWZ");