【发布时间】:2020-02-23 21:26:50
【问题描述】:
我正在使用 express 和 mongodb(我正在使用 mongoose)从事一个项目,并且我有一个具有以下结构的集合:
[
{
"_id": "5e4a39f01ab49e48d4db5b9c",
"last": {
"winningNumbers": {
"list": [
66,
71,
62,
50,
29,
67,
74,
43,
22,
1,
11,
3,
80,
17,
57,
53,
30,
19,
76,
40
],
"bonus": [
40
]
}
}
},
{
"_id": "5e4a3b1c1ab49e48d4db5cb8",
"last": {
"winningNumbers": {
"list": [
71,
46,
79,
60,
1,
14,
19,
73,
34,
55,
5,
65,
12,
47,
16,
62,
51,
53,
3,
45
],
"bonus": [
45
]
}
}
}
]
我曾尝试使用 mongodb 聚合框架来计算整个集合中 last.winningNumber.list 数组中每个数字的出现次数,但我没有做到。
我希望得到如下输出:
{
"occurrences": [
{number:1,count:3},
{number:2,count:8},
{number:12,count:15},
...
{number:78,count:55},
]
}
有什么方法可以使用 $group 来实现,或者我应该使用不同的方法吗?
谢谢!
【问题讨论】:
标签: mongodb express group-by aggregation-framework find-occurrences