2014-10-30 33 views
12

Sto esplorando le funzioni di Firebase, sto avendo problemi su come eliminare nodi o voci da Firebase usando il codice java? Ho cercato la loro API .. la versione web fornisce la funzione remove(), ma java no?!Come cancellare le voci da Firebase

risposta

25

C'è un metodo removeValue() sull'oggetto Firebase:

Documentation

impostazione del valore di una posizione di null essenzialmente rimuove il nodo dalla struttura.

+0

annullamento dei un valore è molto utile per garantire la più eliminazioni su percorsi diversi a causa di denormalizing vostro DB. – TheFuquan

4

Sebbene la risposta di @jsfrocha sia completamente corretta, è importante notare che se si utilizzano le transazioni, che è una buona pratica quando si eliminano i dati, si accede ai dati tramite un oggetto MutableData nel qual caso non si t avere il metodo removeValue(...) quindi dovresti usare invece setValue(null).

Ecco un stato tagliato ...

firebase.child(path).runTransaction(new Transaction.Handler() { 
    public Transaction.Result doTransaction(MutableData mutableData) { 
     mutableData.setValue(null); // This removes the node. 
     return Transaction.success(mutableData); 
    } 
    public void onComplete(FirebaseError error, boolean b, DataSnapshot data) { 
     // Handle completion 
    } 
}); 
Problemi correlati