Теоретически вы могли бы сделать запрос следующим образом:
FirebaseDatabase.getInstance().getReference().child("karangan")
.orderByChild("-LYgFIl4Xiv_Ls51Slvh/uid").equalTo("-LYgFIl4Xiv_Ls51Slvh")
.addListenerForSingleValueEvent(new ValueEventListener() {
Но проблема в том, что вам нужно много индексов в ваших правилах, что может быть технически возможно, но неосуществимо для большинства реальных целей.
Ваша текущая структура данных позволяет легко найти все дочерние узлы для CABARAN
, но не облегчает поиск CABARAN
для данного дочернего узла. Чтобы этот вариант использования работал эффективно, вы должны расширить структуру данных с помощью так называемого обратного индекса, который сопоставляется с CABARAN
от значения, которое вы знаете. Так что-то вроде:
"myIndex": {
"-LYgFIl4Xiv_Ls51Slvh": "CABARAN",
"-LzfFIl4Xasas51Slads": "CABARAN",
"-Lasddas981398asdh1h": "CASITWO"
}
Это дополнительная структура данных, которую вы должны будете обновлять при записи остальных данных. Но с этой структурой теперь очень легко определить, что -LYgFIl4Xiv_Ls51Slvh
отображается на CABARAN
.
Подробнее об этом см. Мой ответ здесь: Запрос Firebase, если child of child содержит значение