Моделирование таблицы лидеров игры с помощью Firestore — ограничения при монотонно растущем поле?

1
6

У меня есть модель видеоигры, в которой есть коллекция User в Firestore, где каждый документ имеет поле score. Я хочу сделать запрос, чтобы отсортировать всех пользователей по их score, от самого высокого балла к самому низкому. Для этого мне нужно проиндексировать поле score, а затем я могу запросить всех пользователей, отсортированных по их score.

Проблема в том, что в документации говорится, что следует избегать создания документов с монотонно увеличивающимся полем, например временной меткой, с очень высокой скоростью. Применимо ли это ограничение к моему варианту использования? Как и временные метки, поля с очками всегда увеличиваются в разных документах. Но в отличие от временных меток поля очков увеличиваются с разной скоростью.

Например, у одного пользователя счет может вырасти с 1 до 2 и до 3 за одну минуту, в то время как счет другого пользователя может вырасти с 4 до 5 и до 6 за тот же период времени. Некоторые пользователи играют в игру часто, поэтому у них могут быть гораздо большие очки, которые обновляются чаще, чем у пользователей, которые играют реже.

Применяется ли ограничение на написание/обновление документов с монотонно увеличивающимися полями к моему варианту использования?

Селиван
Вопрос задан10 сентября 2024 г.

1 Ответ

2
Доброслав
Ответ получен17 сентября 2024 г.

Ваш ответ

Загрузить файл.