【发布时间】:2021-06-30 08:11:36
【问题描述】:
我有以下数据集,其中包含学生考试的分数。但是,对于test 的每个问题,每个mark 都存储在一个单独的对象中,如下所示:
{
school: A,
question: 1,
student: 1,
test: Summer Test,
mark: 0,
},
{
school: A,
question: 2,
student: 1,
test: Summer Test,
mark: 1,
},
{
school: A,
question: 3,
student: 1,
test: Summer Test,
mark: 2,
},
如何使用 mongo 聚合来计算学生在特定考试中获得的分数,方法是将所有单独的分数相加?然后按school分组?
所以结果应该是这样的:
**school A**
{
Summer Test {
students: {student 1 = 3 marks; student 2 = 0 marks; student 3 = 2 marks}
}
Winter Test {
students: {student 1 = 2 marks; student 2 = 1 marks; student 3 = 3 marks}
}
}
对于每个school 等等?谁能给我一些关于如何解决这个问题的建议?非常感谢
【问题讨论】:
-
您的学生 id 在全球范围内是唯一的还是学生 id 是学校级别的,因此可以在每所学校重复使用
标签: javascript mongodb aggregation-framework