Таким образом, вы не можете удалить этот элемент, потому что вы используете неправильный запрос. Есть три основных проблемы с вашим запросом. Во-первых, вы передаете "uid"
как строку, а не фактический uid
, полученный в процессе аутентификации. Во-вторых, вам не хватает двух детей, то есть BACK
и name
. Третья проблема заключается в том, что вы ничего не передаете методу .orderByChild()
. Таким образом, правильный запрос в данном случае должен выглядеть следующим образом:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
Query queryRef = mReference
.child(uid) //The uid of the user
.child("exercise_name")
.child("BACK") //Was missing
.child("name") //Was missing
.orderByChild("-M2o26QvqcTmytlmact9") //The argument was missing
.equalTo("deadlift");
Хотя вышеуказанный запрос будет работать, я предлагаю вам другую схему, которая поможет вам упростить запрос к базе данных:
Firebase-root
|
--- uid
|
--- BACK
|
--- name
|
--- deadlift: true
И это соответствующий запрос:
Query queryRef = mReference
.child(uid)
.child("exercise_name")
.child("BACK")
.child("name")
.orderByChild("deadlift")
.equalTo(true);