2016-11-05 14 views
5

Chcę usunąć cały węzeł według zapytania, takiego jak delete * WHERE id_użytkownika = "-KTruPWrYO9WFj-TF8Ft" Jak mogę to osiągnąć w bazie firebase?Firebase usuwa węzeł na podstawie wartości podrzędnej

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

Odpowiedz

6

Aby usunąć wszystkie odwołania z dzieckiem mając jakąś szczególną wartość najpierw trzeba pobrać wszystkie klucze („-KVpQFXnzQkzzrowHxGk”, „-KVpQFXnzQkzzrowHxGk” w danym przypadku) z equalTo zapytania, a następnie usunąć te odwołania z funkcji remove .

Przykładowy kod jest tutaj.

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

Już zaakceptowałem, ale nie pokażę przyczyny Im new –