Ich habe eine mongodb Sammlung zu erzeugen, die unter Dokumente wie die, die hat:MongoDB aggregierte Daten ‚letzte Aktivität‘
[
{
:event => {:type => 'comment_created'},
:item => {:id => 10},
:created_at => {:t => '11:19:03 +0100 2010', :d=> 'Fri, 19 Nov 2010'}
}
,
{
:event => {:type => 'vote_created'},
:item => {:id => 10},
:created_at => {:t => '11:19:03 +0100 2010', :d => 'Fri, 19 Nov 2010'}
}
]
Was ich brauche, ist ein ‚Armaturenbrett‘ letzte Aktivität Aggregation aufbauen (am aktuellen Tag) für jeden Gegenstand. Das Ergebnis sollte so etwas wie sein:
{
:item_id => 10,
:events => {
:vote_created => [.. ordered list with latest 3 vote_created events/documents],
:comment_created => [.. ordered list with latest 3 comment_created events/documents ],
}
}
Das Ergebnis verwendet wird, würde eine ‚Facebook-style‘ Syntax wie zu konstruieren: ". Mike, John und 3 andere hinzugefügt Kommentare zu Ihrem Artikel von heute
Wie kann ich diese Daten mit einer Gruppe oder einer Map-Reduce-Funktion zusammenfassen?