Javascript 如何使用mongoose计算mongodb集合文档中的字段总和
我想对mongodb文档中的员工点数进行求和 我在员工积分集合中的文档如下所示Javascript 如何使用mongoose计算mongodb集合文档中的字段总和,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我想对mongodb文档中的员工点数进行求和 我在员工积分集合中的文档如下所示 [ { "EmployeeID": "Cust0001", "Point": 1, }, { "EmployeeID": "Cust0002", "Point": 2, }, { "EmployeeID": "Cust0003", "Point": 1, }, {
[
{
"EmployeeID": "Cust0001",
"Point": 1,
},
{
"EmployeeID": "Cust0002",
"Point": 2,
},
{
"EmployeeID": "Cust0003",
"Point": 1,
},
{
"EmployeeID": "Cust0001",
"Point": 5,
},
{
"EmployeeID": "Cust0001",
"Point": 2,
}
]
预期结果
[
{
"EmployeeID": "Cust0001",
"Total_Points": 8
},
{
"EmployeeID": "Cust0002",
"Total_Points": 2
},
{
"EmployeeID": "Cust0003",
"Total_Points": 1
}
]
这是从mongodb获得总分的最佳和最优化的方式
我在我的项目中使用mongoose mongodb连接
我可以使用for循环操作数据,但它似乎效率很低
提前谢谢
欢迎评论。您需要在此处使用两次。。。一个作为阶段的“累加器”,另一个作为点的总和
db.collection.aggregate([
{ "$group": {
"_id": "$EmployeeID",
"Point": {
"$sum": {
"$sum": "$Point"
}
}
}},
{ "$project": {
"EmployeeID": "$_id",
"Point": "$Point",
"_id": 0
}}
])
输出
检查它您的mongo Playder跑步成功,将检查开发并更新我的报告
[
{
"EmployeeID": "Cust0003",
"Point": 1
},
{
"EmployeeID": "Cust0002",
"Point": 2
},
{
"EmployeeID": "Cust0001",
"Point": 8
}
]