У меня есть модель видеоигры, в которой есть коллекция User
в Firestore, где каждый документ имеет поле score
. Я хочу сделать запрос, чтобы отсортировать всех пользователей по их score
, от самого высокого балла к самому низкому. Для этого мне нужно проиндексировать поле score
, а затем я могу запросить всех пользователей, отсортированных по их score
.
Проблема в том, что в документации говорится, что следует избегать создания документов с монотонно увеличивающимся полем, например временной меткой, с очень высокой скоростью. Применимо ли это ограничение к моему варианту использования? Как и временные метки, поля с очками всегда увеличиваются в разных документах. Но в отличие от временных меток поля очков увеличиваются с разной скоростью.
Например, у одного пользователя счет может вырасти с 1 до 2 и до 3 за одну минуту, в то время как счет другого пользователя может вырасти с 4 до 5 и до 6 за тот же период времени. Некоторые пользователи играют в игру часто, поэтому у них могут быть гораздо большие очки, которые обновляются чаще, чем у пользователей, которые играют реже.
Применяется ли ограничение на написание/обновление документов с монотонно увеличивающимися полями к моему варианту использования?