Как удалить данные из firebase android - PullRequest
1 голос
/ 29 мая 2020

Я столкнулся с проблемой, когда мне пришлось удалить те данные, которые пользователь ввел здесь на этой фотографии. Если пользователь ввел регистрационный номер 60, мне нужно удалить все данные из отметок, где регистрационный номер 60.

enter image description here

Он удаляет данные, введенные пользователем, и проверяет регистрацию по отметкам и удаляет все данные, где зачисление 66, это означает удаление этого документа или узел.

Я пробовал следующее, но не помогло.

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

Ответы [ 3 ]

1 голос
/ 29 мая 2020

Попробуйте этот код.

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();
                }
                });
1 голос
/ 29 мая 2020

Чтобы удалить данные, выполните следующие действия:

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) {

               }
          });

Добавьте ссылку на дочерний элемент Marks, затем с помощью запроса orderByChild вы можете получить правильный узел и удалить его

0 голосов
/ 30 мая 2020

    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();
                                }
                            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...