【发布时间】:2022-04-09 23:38:00
【问题描述】:
我有一个学生收藏,如下所示: 如何为每个学生找到最多两个考试成绩
[
{
"_id" : ObjectId("61868aa03b2fe72b58c891a5"),
"name" : "Max",
"examScores" : [
{
"difficulty" : 4,
"score" : 57.9
},
{
"difficulty" : 6,
"score" : 62.1
},
{
"difficulty" : 3,
"score" : 88.5
}
]
},
{
"_id" : ObjectId("61868aa03b2fe72b58c891a6"),
"name" : "Manu",
"examScores" : [
{
"difficulty" : 7,
"score" : 52.1
},
{
"difficulty" : 2,
"score" : 74.3
},
{
"difficulty" : 5,
"score" : 53.1
}
]
}
]
我想使用聚合返回两个最高的examScores.score
像这样:
[
{
name: "Max",
maxExams: [88.5, 62.1]
},
{
name: "Manu",
maxExams: [74.3, 53.1]
}
]
我尝试了聚合阶段 $project 和 $unwind 和 $sort 但他们都无法解决我的问题
【问题讨论】:
标签: javascript node.js mongodb nosql