相关疑难解决方法(0)

mongodb聚合查询未使用$ sum返回正确的总和

我有一个收集学生的文件,格式如下: -

{
 _id:"53fe74a866455060e003c2db",
 name:"sam",
 subject:"maths",
 marks:"77"
}
{
 _id:"53fe79cbef038fee879263d2",
 name:"ryan", 
 subject:"bio",
 marks:"82"
}
{
 _id:"53fe74a866456060e003c2de",
 name:"tony",
 subject:"maths",
 marks:"86"
}
Run Code Online (Sandbox Code Playgroud)

我想得到所有学生的总分数= subject ="maths".所以我应该得到163总和.

db.students.aggregate([{ $match : { subject : "maths" } },
{ "$group" : { _id : "$subject", totalMarks : { $sum : "$marks" } } }])
Run Code Online (Sandbox Code Playgroud)

现在我应该得到以下结果 -

{"result":[{"_id":"53fe74a866455060e003c2db", "totalMarks":163}], "ok":1}
Run Code Online (Sandbox Code Playgroud)

但我得到 -

{"result":[{"_id":"53fe74a866455060e003c2db", "totalMarks":0}], "ok":1}
Run Code Online (Sandbox Code Playgroud)

有人能指出我在这里做错了什么吗?

mongodb mongodb-query aggregation-framework

6
推荐指数
1
解决办法
4901
查看次数