Как новичок в firebase, я попытался воспроизвести некий запрос "where clause" для извлечения пользовательского кошелька в этом простом случае:
User
48bde8f8-3b66-40bc-b988-566ccc77335c
email: "[email protected]"
username: "userTest1"
UserWallet
F4PvtvNT2Z
coins: 26
someList
elemet1
elemet2
user: "48bde8f8-3b66-40bc-b988-566ccc77335c"
Сначала я попытался запрограммировать свой запрос следующим образом:
Firebase root = new Firebase("https://myApp.firebaseio.com/");
Firebase ref = root.child("UserWallet");
Query query = ref.equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c", "user");
Результат был null, поэтому я написал этот запрос:
Query query = ref.orderByChild("user").equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c", "user");
Результат снова был пустым. Единственный способ получить кошелек был с этим запросом:
Query query = ref.orderByChild("user").equalTo("48bde8f8-3b66-40bc-b988-566ccc77335c");
Поэтому Должен ли я всегда использовать запрос "orderByChild()" перед тем, как использовать "equalTo()"?
Итак, какова цель запроса "equalTo (String value, String key)" по сравнению с "equalTo (String value), поскольку только второй работает правильно?