Я хочу, чтобы агрегировать по 2 полям и хотите, чтобы gouping выполнялся вложенным образом. Как мне это достичь? В настоящее время я делаю группировку следующим образомКак агрегировать по нескольким полям в mongodb
var query = [
{ '$group': {
'_id': {
'employee': '$employee',
'sector': '$sector'
},
'bookCount': { '$sum': 1 }
}},
{ '$sort': { 'count': -1 } }
];
Order.aggregate(query, function(err, results){
res.json(results)
});
Я хочу, чтобы результаты, чтобы быть в форме
{abc:{sector1:4, sector3:5}, xyz: {sector1:10, sector2:23}}
где азбука, хуг являются работниками и сектор1, сектора2 сектора.
Как мне заполнить, чтобы получить вложенные результаты?
Мой первоначальный документ
[
{
"sector": "sector1",
"employee": "xyz"
},
{
"sector": "sector1",
"employee": "abc"
},
{
"sector": "sector1",
"employee": "abc"
},
{
"sector": "sector2",
"employee": "abc"
}
]
Я хочу результат, чтобы быть в форме
{abc:{sector1:2,sector2:2}, xyz: {sector1:1}}
Показать исходный документ. –