Мне сложно найти правильный заголовок для этого вопроса (открыт для предложений)
Я занимаюсь разработкой страницы статистики, которая сравнивает различные данные друг с другом.
Например, у меня есть запрос, который рассчитывает распределение по возрасту в зависимости от пола человека.
{
$bucket: {
groupBy : "$age",
boundaries:[12,13,14,15,16,17],
default:"other",
output : {
"male" : {$sum : {$cond: { if: { $eq: [ "$gender", "male" ] }, then: 1, else: 0 }}},
"female" : {$sum : {$cond: { if: { $eq: [ "$gender", "female" ] }, then: 1, else: 0 }}}
}
}
}
В приведенном выше примере я хотел только возраст от 12 до 17 лет.
Это пример полученного результата:
[
{
"_id": 12,
"male": 0,
"female": 1
},
{
"_id": 14,
"male": 0,
"female": 1
},
{
"_id": 15,
"male": 1,
"female": 0
},
{
"_id": 16,
"male": 2,
"female": 0
},
{
"_id": "other",
"male": 1,
"female": 0
}
]
Когда я буду итерации по этому запросу мои строки будут пол, а столбцы возраст.
Но что, если я хочу выполнить итерацию в противоположном / обратном порядке (строки - это возраст, а столбцы - пол)
- Это манипуляция, которую я могу выполнять на стороне клиента с помощью магии. c итерационные трюки
- Я должен также создать отдельный запрос агрегации для случая
- Мой запрос разработан неправильно, и у меня может быть такой, который позволил бы мне легко переключать поля строк / столбцов
Спасибо за любые предложения