Рассчитать процент внутри группы в mongodb, используя конвейер агрегации. Предположим, у меня есть коллекция, как показано ниже, с некоторыми документами.
[{
"Name":"xyz" ,
"Area":"London",
"Sex":"Male"
},
{
"Name":"aaa" ,
"Area":"London",
"Sex":"Female"
},
{
"Name":"bbb" ,
"Area":"London",
"Sex":"Female"
},
{
"Name":"ccc" ,
"Area":"London",
"Sex":"Female"
},
{
"Name":"abc" ,
"Area":"Chile",
"Sex":"Female"
},
{
"Name":"xxx" ,
"Area":"Chile",
"Sex":"Male"
}
]
Я хочу, чтобы процентное соотношение мужчин и женщин по каждой области. Ожидаемый результат должен быть примерно таким.
[
{
_id {
area : 'London', Sex:'Male'
},
percentage: 25
},
{
_id {
area : 'London', Sex:'Female'
},
percentage: 75
},
{
_id {
area : 'Chile', Sex:'Female'
},
percentage: 50
},
{
_id {
area : 'Chile', Sex:'Male'
},
percentage: 50
}
]