如何选择每组中的最大项目?

时间:2013-06-27 10:44:50

标签: mongodb sorting mongoose aggregation-framework

收集如下:

Name      Subject    Score
Li        Math       89
Wang      Math       97
Su        Math       85
Li        History    80
Wang      History    73
Su        History    75
Li        Science    90
Wang      Science    83
Su        Science    65

我希望每个人都能获得最高的科目,结果如下:

Li        Science    90
Wang      Math       97
Su        Math       85

1 个答案:

答案 0 :(得分:1)

这样的事情可以解决问题

db.scores.aggregate(  { $group: {
     _id: { name: "$name", subject: "$subject" },
     'maxscore': { $max : "$score" }
}})