Возникли проблемы при удалении узла в базе данных Firebase - PullRequest
0 голосов
/ 29 июня 2019

У меня возникли проблемы с удалением узлов в Firebase

enter image description here

Так я загружаю свои данные

BigBoy add = new BigBoy(addCate);
          myRef.push().setValue(add);

Вот как я пытаюсь удалить свои данные

    databaseReference = FirebaseDatabase.getInstance().getReference().child("message");
        myRef = database.getReference("message");
String sfasf = Utils.object.getSfasf();
DatabaseReference remove  = FirebaseDatabase.getInstance().getReference("message").child(sfasf);
               remove.removeValue();

Но проблема в том, что узел не удаляется.

Ответы [ 3 ]

0 голосов
/ 29 июня 2019

1) У вас есть эталонный объект, но вы его не используете.Вы создали 2 ссылки на переменные и не используете их.

2) Ваш код неверен, чтобы удалить узел, необходимо указать ключ

myRef = database.getReference("message");
myRef.child(key).remove();

--- edit---

попробуйте

myRef.child(key).removeValue();

--- edit ---

Из официальной документации:

Самый простой способ удаленияdata должен вызывать removeValue () для ссылки на местоположение этих данных.Вы также можете удалить, указав значение null в качестве значения для другой операции записи, такой как setValue () или updateChildren ().Вы можете использовать эту технику с updateChildren () для удаления нескольких дочерних элементов за один вызов API.

0 голосов
/ 04 июля 2019

Проблема заключалась в том, что я не ссылался на pushID, когда ссылался на конкретный узел данных. Это было решено сохранением ключа также при загрузке данных.

0 голосов
/ 29 июня 2019

Сделайте так, чтобы ваш базовый звонок был таким -

DatabaseReference reference = FirebaseDatabase.getInstance().getReference("message");

reference.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot dataSnapshots : dataSnapshot.getChildren()){

           if (dataSnapshots.child("sfasf").exists()) {
                    dataSnapshots.child("sfasf").removeValue();
           } 

        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {

    }


});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...