Remove Specific value From Firebase Database

前端 未结 5 1197
执念已碎
执念已碎 2020-12-07 04:54

I want to Delete Specific value from Firebase Database following is Database which i have stored

Now, I want to Delete Fol

相关标签:
5条回答
  • 2020-12-07 05:26

    Try this code. Hopefully this will help you Thanks

    database.getReference().child("Groups").child(groupItem.getGroupkey()).child("members").child(groupMember.getKey()).removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {
                                       @Override
                                       public void onSuccess(Void aVoid) {
                                           new CustomMessage(GroupDetailsActivity.this, "Successfully deleted");
                                       }
                                   }).addOnFailureListener(new OnFailureListener() {
                                       @Override
                                       public void onFailure(@NonNull Exception e) {
                                           Customlog.showlogD("ERROR_MSG",e.getMessage());
                                       }
                                   });
    

    Database structure: https://i.stack.imgur.com/Lw3Ia.png

    0 讨论(0)
  • 2020-12-07 05:32

    Well Thanks to all, After Modification with lots of answer and query.. This is what worked with me.

    mReference.child("demo").orderByChild("fname").equalTo("John").addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                mReference.child("demo").child(dataSnapshot.getKey()).setValue(null);
    
                //also work
                //dataSnapshot.getRef().setValue(null);  
            }
    
            @Override
            public void onChildChanged(DataSnapshot dataSnapshot, String s) {
    
            }
    
            @Override
            public void onChildRemoved(DataSnapshot dataSnapshot) {
    
            }
    
            @Override
            public void onChildMoved(DataSnapshot dataSnapshot, String s) {
    
            }
    
            @Override
            public void onCancelled(DatabaseError databaseError) {
    
            }
        });
    
    0 讨论(0)
  • 2020-12-07 05:43

    hi try using this code,

        mReference.child("demo").orderByChild("fname").equalTo("John").addListenerForSingleValueEvent(
                new ValueEventListener() {
                    @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                mReference.child("demo").child(dataSnapshot.getKey()).setValue(null);
            }
    
           @Override
             public void onCancelled(DatabaseError databaseError) {
                  Log.w("TodoApp", "getUser:onCancelled", databaseError.toException());
             }
    });
    
    0 讨论(0)
  • 2020-12-07 05:51

    Instead of using addListenerForSingleValueEventtry using addChildEventListener as below,

    Query queryRef = mReference.child("demo").orderByChild("fname").equalTo("John");
    
    queryRef.addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot snapshot, String previousChild) {
          snapshot.getRef().setValue(null);
        }
    });
    
    0 讨论(0)
  • 2020-12-07 05:52

    You can try it:

    mReference.child("demo").orderByChild("fname").equalTo("John").addListenerForSingleValueEvent(
                    new ValueEventListener() {
                        @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                     dataSnapshot.getRef().setValue(null);
                }
    
    
               @Override
                 public void onCancelled(DatabaseError databaseError) {
                      Log.w("TodoApp", "getUser:onCancelled", databaseError.toException());
                 }
       });
    
    0 讨论(0)
提交回复
热议问题