如何在数据库中添加一个字段
我试图用相同的事件名称来分组所有的字段,并且总结这些字段的参与者。
{ "_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的一个组,并且他们总结了参数(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 } ]
为什么总和字段不工作? 如何修复?
你错过了这个event
:
[ { "$group": { _id: "$event.full", participants: { "$sum": "$event.participants" }, count: { $sum: 1 } } }, { "$skip": ( page-1 ) * 15 }, { "$limit": 15 } ]