Поскольку firebase не разрешает мультисортировку, я рекомендую вам создать столбец сортировки и обновить его в соответствии с вашими требованиями к сортировке.В вашем случае вы можете объединить секунды и счет, а затем сохранить его как целое число.Чтобы получить одинаковую длину, секунды должны быть дополнены 0, скажем, 6 символов (зависит от вашего счета и максимально возможных значений секунд).Допустим, максимальное значение равно 100, а максимальное количество секунд равно 50000, ваш порядок сортировки будет представлять собой комбинацию score
и 5 chars of seconds
, приведенную к целому числу.
Пример:
{
"Ka8xxTgyFB8yYKH50j" : {
"score" : 10,
"seconds" : 1325,
"sort_order": 1001325
},
"K222xTgyFBF33FD50j" : {
"score" : 10,
"seconds" : 425,
"sort_order": 1000425
},
"Ka32T23R328yYKH50j" : {
"score" : 5,
"seconds" : 115
"sort_order": 5000115
},
"F323F32FB8yYKH50j" : {
"score" : 30,
"seconds" : 2335,
"sort_order": 3002335
}
}
Таким образом, вы можете очень быстро отсортировать его в порядке возрастания и убывания.