【发布时间】:2017-05-11 04:57:29
【问题描述】:
我是 MongoDB 的新手。但是,我对一些aggregate 函数/运算符有所了解。
首先,请看一下数据(它包含板球比赛信息):
一个文档(行)如下所示:
{
"ID": 577,
"Inning": 1,
"BattingTeam": "Sunrisers Hyderabad",
"BowlingTeam": "Royal Challengers Bangalore",
"Over": 1,
"Bowler": "S Aravind",
"Ball": 1,
"Batsman": "DA Warner",
"NonStriker": "S Dhawan",
"TotalRuns": 1
}
...
...
这是整个数据文件: http://raw.sam016.com/shared/match_data.json
那些不懂板球的人(比如我),这里有一些信息:
- 一场比赛包含 2 局 [1, 2]
- 每局都有一些过场 [20, 60]
- 每个以上最多包含 6 个球
我想以这种方式聚合/分组这些数据以获得以下类型的分层结果:
[{
"ID": 577,
"Innings": [{
"Inning": 1,
"BattingTeam": "Sunrisers Hyderabad",
"BowlingTeam": "Royal Challengers Bangalore",
"Overs": [
{
"Over": 1,
"Bowler": "S Aravind",
"Balls": [
{
"Ball": 1,
"Batsman": "DA Warner",
"NonStriker": "S Dhawan",
"TotalRuns": 1
},
{...},
{...}
]
},
{...},
{...}
]
},
{
"Inning": 2,
"BattingTeam": "Royal Challengers Bangalore",
"BowlingTeam": "Sunrisers Hyderabad",
"Overs": [
{
"Over": 1,
"Bowler": "B Kumar",
"Balls": [
{
"Ball": 1,
"Batsman": "CH Gayle",
"NonStriker": "V Kohli",
"TotalRuns": 0
},
{...},
{...}
]
},
{...},
{...}
]
}
]
}]
我们将不胜感激。
【问题讨论】:
标签: mongodb mongoose mongodb-query aggregation-framework