das Aggregat Framework, was ist der beste Weg, um Dokumente mit einem maximalen Wert eines Feldes erhalten pro Gruppierung so mit der Sammlung unten Ich würde möchte Funktionalität haben, um ein Dokument für jede Gruppen-ID zurückzugeben, die das späteste Datum hat. Die zweite Auflistung zeigt das gewünschte Ergebnis.Aggregieren von einem Feld und Auswahl des Dokuments mit dem Max-Wert eines anderen Feldes als eine Sammlung
group_id date
1 11/1/12
1 11/2/12
1 11/3/12
2 11/1/12
3 11/2/12
3 11/3/12
Gewünschtes Ergebnis
group_id date
1 11/3/12
2 11/1/12
3 11/3/12
[? Was Sie versucht haben] (http://whathaveyoutried.com) – JohnnyHK
Ich weiß, das ist nicht ganz, was Sie suchen, aber man konnte iterieren durch die Gruppen-IDs, und tun Sie etwas wie: db.foo.find ({group_id: n}) .sort ({Datum: -1}) .limit (1) - für jede group_id = n. Dies wird alle Dokumente mit einer bestimmten Gruppenkennung nach Datum sortieren und dann nur die letzte zurückgeben. – Louisa