Firebase根据子值删除节点

Edy*_*ado 7 javascript json firebase firebase-realtime-database

我想通过查询删除整个节点,如delete*WHERE user_id =" - KTruPWrYO9WFj-TF8Ft"我如何在firebase上实现这一点?

-KVpQFXnzQkzzrowHxGk
  answer: "1"
  question_number: 2
  user_id: "-KTruPWrYO9WFj-TF8Ft"
-KVpQFXODhsAMJYFNjy7
  answer: "4"
  question_number: 25
  user_id: "-KTruPWrYO9WFj-TF8Ft"
Run Code Online (Sandbox Code Playgroud)

Rav*_*rma 10

要删除具有某些特定值的子项的所有引用,您需要使用查询检索所有键(在您的情况下为"-KVpQFXnzQkzzrowHxGk"," - KVpQFXnzQkzzrowHxGk"),equalTo然后使用remove函数删除这些引用.

这里有一个示例代码.

var ref = firebase.database(); //root reference to your data
ref.orderByChild('user_id').equalTo('-KTruPWrYO9WFj-TF8Ft')
    .once('value').then(function(snapshot) {
        snapshot.forEach(function(childSnapshot) {
        //remove each child
        ref.child(childSnapshot.key).remove();
    });
});
Run Code Online (Sandbox Code Playgroud)