【发布时间】:2017-07-16 08:03:51
【问题描述】:
我已经在我的收藏中分配了人员、状态,如下所示
[
{"ASSIGN_ID": "583f84bce58725f76b322398", "STATUS": 1},
{"ASSIGN_ID": "583f84bce58725f76b322398","STATUS": 4},
{"ASSIGN_ID": "583f84bce58725f76b322398","STATUS": 4},
{"ASSIGN_ID": "583f84bce58725f76b322398","STATUS": 3},
{"ASSIGN_ID": "583f84bce58725f76b322311","STATUS": 1},
{"ASSIGN_ID": "583f84bce58725f76b322311","STATUS": 3},
{"ASSIGN_ID": "583f84bce58725f76b322322","STATUS": 1},
{"ASSIGN_ID": "583f84bce58725f76b322322","STATUS": 4}
]
我想按 ASSIGN_ID 对这些数据进行分组,并在其中按每个 STATUS 的 STATUS 计数进行分组,如下所示。
[
{
"ASSIGN_ID":"583f84bce58725f76b322398",
"STATUS_GROUP":[
{
"STATUS":1,
"COUNT":1
},
{
"STATUS":3,
"COUNT":1
},
{
"STATUS":4,
"COUNT":2
}
]
},
{
"ASSIGN_ID":"583f84bce58725f76b322311",
"STATUS_GROUP":[
{
"STATUS":1,
"COUNT":1
},
{
"STATUS":3,
"COUNT":1
}
]
},
{
"ASSIGN_ID":"583f84bce58725f76b322322",
"STATUS_GROUP":[
{
"STATUS":1,
"COUNT":1
},
{
"STATUS":4,
"COUNT":1
}
]
}
]
但是,我编写了代码,它只按 STATUS 分组。请在下面找到查询。
Inspection.aggregate([
{$group: {
"_id": '$STATUS',
"count" : { $sum : 1 }}}], function (err, result) {
}});
请帮我解决这个问题。
【问题讨论】:
标签: javascript node.js mongodb mongoose aggregation-framework