标签: node.js mongodb express mongoose
假设有一个用户集合。 该集合中该问题的相关信息是:
现在,对于最终输出,它应列出团队,使用teamid列出团队下的用户,并将每个用户的总核数加起来计算团队分数。
然而,我无法想出任何办法。 我正在考虑聚合这个,但是,它有点远远超过我的帽子。
此api的输出使用express和mongoose在json中呈现。
答案 0 :(得分:1)
您可以使用以下聚合查询。 使用group阶段和$push获取播放器的名称,$sum获取团队totalscore的总和。
group
$push
$sum
totalscore
db.coll.aggregate([ {'$group': { '_id': '$teamid', 'totalscore': {'$sum': '$totalscore'}, 'listofplayers': {'$push':'$username'} } }])