Привет.
Допустим, есть коллекция users с документами вида (_id намеренно опускаю):
{
user_id:1,
group_id:100,
description:null
},
{
user_id:1,
group_id:102,
description:null
},
{
user_id:1,
group_id:100,
description:"text"
},
{
user_id:2,
group_id:102,
description:"another text"
},
{
user_id:3,
group_id:101,
description:"another text"
}
1. Каким образом вывести результат с подсчётом по каждой строке вида (пример чисто для понимания логики):
{
user_id: [
1:
count:3,
2:
count:1,
3:
count:1],
group_id: [
100:
count:2,
101:
count:1,
102:
count:2],
description: [
null:
count: 2,
"text":
count: 1,
"another text":
count:2]
}
2. Как сгруппировать по "user_id" и подсчитать оставшиеся поля?
{
user_id: 1,
group_id: [
100:
count: 2,
102:
count: 1],
description: [
null:
count: 2,
"text":
count: 1]
},
{
user_id: 2,
group_id: [
102:
count: 1],
description: [
"another text":
count: 1]
},
{
user_id: 3,
group_id: [
101:
count: 1],
description: [
"another text":
count: 1]
}