gpt4 book ai didi

javascript - 如何使用mongoose计算mongodb集合文档中的字段总和

转载 作者:可可西里 更新时间:2023-11-01 09:33:28 24 4
gpt4 key购买 nike

我想从 mongodb 文档中计算员工积分。

我在员工积分收藏中的文件如下

[
{
"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 循环操作数据,但它似乎相当低效。

提前致谢。

欢迎提出意见。

最佳答案

您需要使用 $sum在这里两次......一次作为$group的“累加器”阶段和一个用于求和 Points

db.collection.aggregate([
{ "$group": {
"_id": "$EmployeeID",
"Point": {
"$sum": {
"$sum": "$Point"
}
}
}},
{ "$project": {
"EmployeeID": "$_id",
"Point": "$Point",
"_id": 0
}}
])

输出

[
{
"EmployeeID": "Cust0003",
"Point": 1
},
{
"EmployeeID": "Cust0002",
"Point": 2
},
{
"EmployeeID": "Cust0001",
"Point": 8
}
]

查一下here

关于javascript - 如何使用mongoose计算mongodb集合文档中的字段总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50961914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com