Cara menghapus node di firebase realtime database di javascript

Oct 19 2020

Saya mengalami kesulitan saat menghapus node di database realtime firebase.

Seperti inilah tampilan database realtime firebase saya:

Ini yang saya coba, berikut delete node di firebase dan Cara menghapus / menghapus node di Firebase :

1)

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

Dengan kode di atas, ketika saya mengklik untuk menghapus seluruh data (semua node, termasuk obrolan) telah dihapus.

2)

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

Saya mendapatkan ini berfungsi sebagaimana mestinya, tetapi ini hanya menghapus node terakhir di / chats, dan saya ingin menentukan chat/uidsaya ingin menghapus.

3)

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

Ini hanya menyebabkan tidak terjadi apa-apa. Saya mengalami ini di coba / tangkap, dan mengklik "hapus" menyebabkan percobaan berjalan, tetapi tidak ada kesalahan yang tertangkap. Dan tidak ada yang terjadi di database.

4)

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

Hasil yang sama seperti nomor 3 di atas - tidak ada yang terjadi, dan tidak ada kesalahan yang tertangkap dalam percobaan / penangkapan.

UPDATE: Saya mencoba yang berikut ini, tetapi ini menghapus seluruh chatsdata, bukan hanya node yang ingin saya hapus:

      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();
          });
        });

Jawaban

1 DougStevenson Oct 19 2020 at 07:52

Contoh keempat Anda seharusnya berfungsi, kecuali Anda salah ketik:

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

Ini seharusnya:

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

Anda kehilangan "-" sebelum "M".