Как удалить определенные узлы в базе данных Firebase в реальном времени - PullRequest
0 голосов
/ 30 апреля 2018

enter image description here

как вы удаляете объект в firebase, не удаляя весь дочерний элемент "simnumbers"? например, только удалить "LAkUUug ..."

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Во-первых, согласно вашему комментарию вам необходимо получить автоматически сгенерированный ключ . Для этого: -

  public String keyval;

      FirebaseDatabase.getInstance().getReference().child("numbers-guess-...").child("simnumbers").addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {

                    if (dataSnapshot != null && dataSnapshot.getValue() != null) {

                //  for (DataSnapshot child : dataSnapshot.getChildren()) {
                   // if we want to get do operation in multiple data then write your code here 
               //  }            


                        keyval = dataSnapshot.getKey());
                    }

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {
                    //add code in case you not get proper dat from firebase
                }
            });

Чтобы удалить значение в firbase, вам нужно использовать removeValue (), и, на мой взгляд, вы должны использовать его с addOnCompleteListener ().

Теперь добавьте этот ключ в качестве ключа, который вы хотите удалить. покажите следующий код: -

FirebaseDatabase.getInstance().getReference()
                .child("simnumbers").child(keyval).removeValue()
                .addOnCompleteListener(new OnCompleteListener<Void>() {
                    @Override
                    public void onComplete(@NonNull Task<Void> task) {
                        if (task.isSuccessful()) {
                           //enter your code what you want excute                     after remove value in firebase.
                        } else {
                            //enter msg or enter your code which you want to show in case of value is not remove properly or removed failed.

                           Toast.makeText(this, "Remove Failed", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
0 голосов
/ 30 апреля 2018

Для удаления необходимо использовать метод removeValue (). Вы должны знать значение ключа ребенка, иначе вы не сможете этого сделать. скажем, как-то вам удалось получить значение ключа, который узел вы хотите удалить. затем просто напишите код.

FirebaseDatabase.getInstance().getReference().child("simnumbers").child("LAkUUug.....").removeValue();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...