Я хочу удалить узел Room2
из базы данных Firebase. У меня есть эта структура базы данных:Невозможно удалить узел из Firebase в Android
db-24f7f
|
- Hotel
|
-Room1
|
beds:"2"
Chairs: "6"
-Room2
|
beds:"3"
Chairs: "8"
Я попытался, как
database = FirebaseDatabase.getInstance();
myRef = database.getReference();
database.getReference("Hotel").orderByChild("Chairs").equalTo("8").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
dataSnapshot.getRef().setValue(null);
}
Это удалить всю базу данных. Тогда я попытался, как
database = FirebaseDatabase.getInstance();
myRef = database.getReference();
database.getReference("Hotel").orderByChild("Chairs").equalTo("8").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds:dataSnapshot.getChildren()){
ds.getRef().removeValue();
}
}
и найти это:
12-28 12: 31: 21.813 22950-22950/PKGName_o E/ViewRootImpl: sendUserActionEvent() MView == нуль 12-28 12 : 31: 21.813 22950-22950/PKGName_o E/ViewRootImpl: sendUserActionEvent() mView == null W/PersistentConnection: pc_0 - Использование неуказанного индекса. Подумайте о добавлении «.indexOn»: «Стулья» в отеле к вашим правилам безопасности и правил базы данных Firebase для лучшей производительности.
После этого узел не удаляется из Firebase. Почему он не может удалить узел?
Ваш второй код в порядке, он должен работать уже. И logcat только показывает предупреждение, firebase sdk предлагает вам добавить этот параметр индекса в правила базы данных Firebase. Ваш код будет работать, если вы не добавите это правило. Я пробовал свой код с использованием той же базы данных, и Room2 удалялся, как ожидалось. – Wilik