I am using Firebase realtime database in Android app, and have data like this:
How can i delete the record "Apple" (marked in picture)?
According to the docs, to remove an item you call removeValue() on the reference. But to get the reference i require the child id. Because its a random generated id (-KISNx87aYigsH3ILp0D), how to delete it?
Callbacks are removed by calling the off() method on your Firebase database reference. You can remove a single listener by passing it as a parameter to off() .
To delete a file, first create a reference to that file. Then call the DeleteAsync() method on that reference. // Create a reference to the file to delete.
If you don't know the key of the items to remove, you will first need to query the database to determine those keys:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(); Query applesQuery = ref.child("firebase-test").orderByChild("title").equalTo("Apple"); applesQuery.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot appleSnapshot: dataSnapshot.getChildren()) { appleSnapshot.getRef().removeValue(); } } @Override public void onCancelled(DatabaseError databaseError) { Log.e(TAG, "onCancelled", databaseError.toException()); } });
this solved my problem
mPostReference = FirebaseDatabase.getInstance().getReference() .child("quotes").child(mPostKey); mPostReference.removeValue();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With