Ich habe viele Dokumente in einer MongoDB-Datenbank, die wie die folgenden vier Dokumente aussehen (beachten Sie die ersten 3 Februar 2017 und die letzte ist März 2017):MongoDB Aggregation: Gruppieren von Daten innerhalb Datum Gruppen
{"_id": 0,
"date": ISODate("2017-02-01T00:00:00Z),
"item": "Basketball",
"category": "Sports"}
{"_id": 1,
"date": ISODate("2017-02-13T00:00:00Z),
"item": "Football",
"category": "Sports"}
{"_id": 2,
"date": ISODate("2017-02-22T00:00:00Z),
"item": "Massage",
"category": "Leisure"}
{"_id": 3,
"date": ISODate("2017-03-05T00:00:00Z),
"item": "Golf club",
"category": "Sports"}
Ich versuche, die Elemente nach MONTH/YEAR zu gruppieren und gruppiere die Elemente nach KATEGORIE. So ist die Aggregation Pipeline sollte etwas zurückgeben, die oben für die vier Dokumente wie folgt aussehen:
{"_id": {
"month": 2,
"year": 2017
},
"data": [
{"category": "Sports",
"items": ["Basketball", "Football"]
},
{"category": "Leisure",
"items": ["Massage"]
}
]
},
{"_id": {
"month": 3,
"year": 2017
},
"data": [
{"category": "Sports",
"items": ["Golf Club"]
}
]
}
Ich mag auch die zurück Cursor mit Jahr als primäre Art und Monat als sekundäre Sortier in Ordnung sein.