Ich bin neu in MongoDB. Aber ich habe das Verständnis einiger aggregate Funktionen/Operatoren.Holen Sie hierarchische verschachtelte Daten von MongoDB
Zuerst bitte einen Blick auf die Daten haben (es enthält Cricket Informationen Spiele):
Ein Eintrag (Zeile) sieht wie folgt aus:
{
"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
}
...
...
Hier ist die gesamte Datendatei: http://raw.sam016.com/shared/match_data.json Diejenigen
, die nicht Cricket wissen (wie ich), ist hier wenig Info:
- A Match 2 Inning enthält [1, 2]
- Jede Inning enthält einige overs [20, 60]
- jeweils über enthält 6 Kugeln max
ich diese Daten/Gruppe in solche aggregieren möchte eine Möglichkeit, die folgende Art von hierarchischem Ergebnis zu erhalten:
[{
"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
},
{...},
{...}
]
},
{...},
{...}
]
}
]
}]
Jede Art von Hilfe wäre willkommen.
Danke !!! Es funktionierte. – sam
Wie wird es sortiert? Ich habe versucht, '$ sort' durch inning> over> ball hinzuzufügen. Aber das Endergebnis ist nicht sortiert. – sam
Sie müssen eine Ebene nach der anderen sortieren. Für das erste Level brauchst du also $ sort, bevor du schiebst. Etwas wie '{$ sort: {Ball: 1}}' vor der ersten $ Gruppe und so weiter für den Rest der Level. – Veeram