首页 > 解决方案 > 如何在排行榜中动态排名用户?

问题描述

我想创建一个排行榜 API,例如当GET请求发送到/leaderboard端点时,用户将按他们的分数进行排名。

例如

[
 {
   "rank": 1,
   "score": 100,
   "name": "john"
   "country": "us"
 }
 ...
]

此外,可以更新用户的分数,在这种情况下,所有排名都将更新。我想使用 DynamoDB 和 score 作为我的排序键。但是,我不确定如何向 JSON 响应添加排名字段。有没有办法将文档的索引添加为字段?

此外,我应该能够按国家/地区过滤结果,例如/leaderboard/<country>,但排名不应该受到过滤的影响。这就是为什么我想将索引保留为文档中的一个字段。

我正在使用 Node.js 和 DynamoDB,因为我将在 AWS 上部署 API,任何帮助将不胜感激。

标签: databaseapiindexingleaderboard

解决方案


推荐阅读