Javascript 如何对数据库中的字段求和
我试图将所有具有相同事件名称的字段分组,并对这些字段的参与者求和Javascript 如何对数据库中的字段求和,javascript,node.js,mongodb,mongoose,aggregation-framework,Javascript,Node.js,Mongodb,Mongoose,Aggregation Framework,我试图将所有具有相同事件名称的字段分组,并对这些字段的参与者求和 { "_id": { "$oid": "54b6ae8aec17b5e905a5813a" }, "person": { "name": "Something", "phone": "(011) 9468-1319", "email": "myemail@gmail.com", "obs": "" }, "eve
{
"_id": {
"$oid": "54b6ae8aec17b5e905a5813a"
},
"person": {
"name": "Something",
"phone": "(011) 9468-1319",
"email": "myemail@gmail.com",
"obs": ""
},
"event": {
"full": "20/11/01 Classic",
"date": "20/11/01",
"name": "Special",
"participants": 10
},
"__v": 0
}
{
"_id": {
"$oid": "54b6aeaad7e410ec05dd1ca2"
},
"person": {
"name": "Something",
"phone": "(011) 9468-1319",
"email": "myemail@gmail.com",
"obs": ""
},
"event": {
"full": "20/11/01 Classic",
"date": "20/11/01",
"name": "Special",
"participants": 10
},
"__v": 0
}
我只有这两个集合,我使用下面的代码将event.full和它们相加到participans(Number)字段
代码如下:
MyModel.aggregate(
[
{ "$group":
{
_id: "$event.full",
participants: { "$sum": "$participants" },
count: { $sum: 1 }
}
},
{ "$skip": ( page-1 ) * 15 },
{ "$limit": 15 }
],
function(err, obj) {
res.send(obj);
}
);
这将返回以下对象:
[
{
_id: "20/11/01 Classic",
participants: 0,
count: 2
}
]
为什么总和字段不起作用?如何修复???您错过了
事件
请使用以下方法:
[
{ "$group":
{
_id: "$event.full",
participants: { "$sum": "$event.participants" },
count: { $sum: 1 }
}
},
{ "$skip": ( page-1 ) * 15 },
{ "$limit": 15 }
]
经常发生;)