mongodb - 如何在每个组中选择最大项目?

标签 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

最佳答案

像这样的东西应该可以解决问题

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

关于mongodb - 如何在每个组中选择最大项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17341048/

相关文章:

javascript - Mongoose :.save 不是函数

mongodb - mgo golang 不使用 $set 更新空数组

r - data.table 在 rbind, R 后丢失因子排序

node.js - 发生故障转移时没有可用的主服务器 : MongoDB, Node.js, Mongoose

javascript - 如何比较 Mongoose 对象和 JSON 对象?

javascript - 错误 : name":"Invariant Violation" ,"framesToPop":1

node.js - Nest.js 在 Passport 本地策略中获取请求头

java - 将 sortedSet 转换为整数数组

ios - 如何按与用户的距离对一组业务对象进行排序?

node.js - 使用 NodeJS 将文档导入 MongoDB 时使用文档的值作为 _id