Получение и изменение данных Firebase
Являюсь новичком в создании приложений на Android и использованием Firebase. Буду благодарен за любую помощь.
Имеется вот такая структура БД.
Необходимо найти конкретный узел по заданному значению id и в нем же поменять значение другого поля. Я пробовал этот код, но он добавляет поля на одном уровне со всеми узлами.
Query query = myRef.orderByChild("id").equalTo(id);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
snapshot.getRef().child("isRead").setValue(true);
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
} );
Ответы (1 шт):
Автор решения: Анастасия
→ Ссылка
Согласно официальной документации, это можно сделать вот так:
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child(id).child("isRead").setValue(true);
где id - это, собственно, переменная с нужным Вам идентификатором.
Внутри mDatabase.child(id) Вы можете менять значения любого child. Метод setValue перезаписывает данные только в указанном месте.