简体   繁体   中英

How to delete data from firebase android

I faced an issue when I had to delete that data which user entered in here this photo. If the user entered enrollment number 60 then I have to delete all data from marks where the enrollment number is 60 .

在此处输入图像描述

It deletes the data which user entered and it verifies that enrollment from marks and delete all data where enrollment is 66 it means delete that document or node.

I tried the following that did not work.

reff.child("Marks").removeValue().equals(et1);

To delete data do the following:

DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("Marks");
data.orderByChild("enrollment").equalTo("66").addListenerForSingleValueEvent(new ValueEventListener() {
         @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
      for(DataSnapshot data: dataSnapshot.getChildren()){
            data.getRef().removeValue();

                  }

            }
        @Override
       public void onCancelled(DatabaseError databaseError) {

               }
          });

Add a reference to child Marks then using the query orderByChild you can get the correct node and delete it

Try this code.

int enrollmentId = Integer.parseInt( et1.getText().toString() );
reff.child("Marks").orderByChild("enrollment").equalTo(enrollmentId)
.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) 
                {
                    for (DataSnapshot ds : dataSnapshot.getChildren())
                    {
                        ds.getRef().removeValue(); 
                        Toast.makeText(context, "Deleted", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) 
                {
                    Toast.makeText(context, "Failed to delete", Toast.LENGTH_SHORT).show();
                }
                });

    String et1 =e1.getText().toString().trim();
                    reff.child("Marks").orderByChild("enrollment").equalTo(et1)
                            .addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot)
                                {
                                    for (DataSnapshot ds : dataSnapshot.getChildren())
                                    {
                                        ds.getRef().removeValue();
                                        Toast.makeText(getApplicationContext(), "Deleted", Toast.LENGTH_SHORT).show();
                                    }
                                }

                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError)
                                {
                                    Toast.makeText(getApplicationContext(), "Failed to delete", Toast.LENGTH_SHORT).show();
                                }
                            });

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM