У меня есть рейтинг людей, основанный на заработанных ими баллах.Мне нужно сообщить каждому участнику их позицию в игре, например, Джон (1) - 170 баллов, Мэри (2) - 160 баллов, Сара (3) - 110 баллов
Итак, Джон первый, Мэрисекунды, а Сара третья.Теперь, если Мэри выиграет еще 20 очков, она будет первой, а Джон будет вторым.
Я пытаюсь избежать запуска задачи на cron, чтобы составить список и пересчитать позицию каждого.
Моя первая попытка состояла в том, чтобы сохранить отдельный набор сущностей (PersonRank), чтобы я не столкнулся с проблемами транзакций, у этого ранга было бы то же самое имя ключа, чтобы я мог db.get () по ключу.Эта сущность будет иметь рассчитанный ранг человека, поэтому, когда Человек получает очки, я должен проверить, имеет ли следующий Человек на линии меньше очков, чем я, и поменяться местами со мной, так что это правда.Проблема в том, что Сара, например, могла набрать 100 очков, и теперь она номер один.В предыдущем алгоритме мне пришлось бы «ходить» среди множества сущностей, что означает, что большое количество DataStore получает и помещает (обновляет каждую задействованную сущность на новую позицию).
Моя следующая догадка может бытькакой-то связанный список с ReferenceProperties, возможно, использующий имена ключей для обозначения позиции.
Любые подсказки о том, как реализовать это?