2016-11-05 109 views
5

我想通过查询删除整个节点,如delete * WHERE user_id =“-KTruPWrYO9WFj-TF8Ft”我如何在firebase上实现此目的?Firebase根据子值删除节点

-KVpQFXnzQkzzrowHxGk 
    answer: "1" 
    question_number: 2 
    user_id: "-KTruPWrYO9WFj-TF8Ft" 
-KVpQFXODhsAMJYFNjy7 
    answer: "4" 
    question_number: 25 
    user_id: "-KTruPWrYO9WFj-TF8Ft" 

回答

6

要与equalTo查询删除与孩子的所有引用有一些特殊的价值首先你需要检索的所有键(“-KVpQFXnzQkzzrowHxGk”,“-KVpQFXnzQkzzrowHxGk”你的情况),然后用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(); 
    }); 
}); 
+0

我已经接受,但不会显示原因林新 –