簡體   English   中英

如何刪除firebase實時數據庫中的一個節點javascript

[英]How to delete a node in firebase realtime database in javascript

我很難刪除 firebase 實時數據庫中的一個節點。

這是我的 firebase 實時數據庫的樣子: 在此處輸入圖像描述

這是我在 firebase 中的刪除節點如何刪除/刪除 Firebase 中的節點之后嘗試的

1)

     let chatRef = db.ref("/chats");
      var query = chatRef.orderByChild("uid").equalTo(chatId);
      query.on("child_added", (snapshot) => {
        snapshot.ref.remove();
      });

使用上面的代碼,當我點擊刪除整個數據(所有節點,包括聊天)被刪除。

2)

      chatRef.limitToLast(1).once("value", (snapshot) => {
        snapshot.forEach((deedSnapshot) => {
          deedSnapshot.ref.remove();
        });
      });

我按預期進行了此操作,但它僅刪除了 /chats 中的最后一個節點,並且我想指定要刪除的chat/uid

3)

      let chatRef = db.ref("/chats");
      chatRef.child("5ZuZvUyByDcbteclgpM0t08beVn1").remove();

這根本沒有導致任何事情發生。 我在 try/catch 中有這個,點擊“刪除”導致嘗試運行,但沒有發現錯誤。 數據庫中什么也沒有發生。

4)

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

結果與上面的第 3 點相同——什么也沒發生,在 try/catch 中也沒有發現錯誤。

更新:我嘗試了以下操作,但這會刪除整個chats數據,而不僅僅是我要刪除的節點:

      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”之前的“-”。

我參加聚會有點晚了。 只是想建議另一種方式。

要刪除節點,我們可以將 null 作為set的值傳遞

import { database } from 'firebase-admin';

    const db = database();
        const ref = db.ref('server/saving-data/fireblog');
    
        dataRef.set(null, (error) => {
      if (error) {
        console.log('Data could not be removed.' + error);
      } else {
        console.log('Data removed successfully.');
      }
    });

刪除實時數據庫中的節點首先從數據庫中導入刪除

import { remove } from "firebase/database";

在您設置的刪除方法中:

remove(ref(getDatabase(), `users/${userId}/node/${node.id}`))

謝謝 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM