Как я могу реализовать ранжирование, в котором пользователь может видеть первую десятку для девочек или для мальчиков? Я знаю, как создать рейтинг, в котором можно увидеть первую десятку всех пользователей, но я понятия не имею, как создать рейтинг, в котором показаны только девочки или мальчики. (Я знаю, что могу изменить узел пользователей, но это невозможно, потому что тогда я не смог бы ранжировать всех пользователей)
Мой узел пользователей выглядит следующим образом:
users
/$userId
/points
/sex
Как поясняется в документация, «одновременно можно использовать только один метод упорядочения. Многократный вызов метода упорядочения в одном и том же запросе вызывает ошибку».
Наиболее распространенный подход к решению этого «ограничения» заключается в дублировании ваших данных, что довольно распространено в мире NoSQL.
Тогда у вас будет следующая модель данных:
users
/$userId
/points
/sex
femaleUsers
/$userId
/points
maleUsers
/$userId
/points
Вы должны использовать метод update() для синхронизации различных узлов.