MongoDB:如何在排行榜中对得分进行排名,对重复得分进行分组(以及根据ID查找排名)

时间:2019-12-11 20:15:38

标签: node.js mongodb mongoose

使用猫鼬从看起来像这样的数据中创建排行榜的最佳方法是什么:

| Score | Name |
| 20    | Joe  |
| 10    | Jon  |
| 99    | Bob  |
| 20    | Kim  |

看起来像这样:


| Rank | Score | Name |
| 1    | 99    | Bob  |
| 2    | 20    | Joe  |
| 2    | 20    | Kim  |
| 3    | 10    | Jon  |

请注意如何将重复的分数分组到同一等级。

const GamePlay = new Schema(
  {
    id: { type: String, index: true },
    name: String,
    score: { type: Number, index: true },
  },
  { toJSON: { virtuals: true } }
);

获得分数排名后,我将需要按ID查找特定用户的排名。

我到处都在寻找解决方案,但是没有任何运气。

0 个答案:

没有答案