J'ai une collection de MongoDB qui a des documents comme ceux ci-dessous:données agrégées MongoDB pour générer « dernière activité »
[
{
: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'}
}
]
Ce que je dois est de construire un « tableau de bord » regroupant l'activité récente (le jour en cours) pour chaque article. Le résultat devrait être quelque chose comme:
{
: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 ],
}
}
Le résultat serait utilisé pour construire une syntaxe « style Facebook » comme: « Mike, John et 3 autres ont ajouté des commentaires sur votre article aujourd'hui. »
Comment agréger ces données à l'aide d'un groupe ou d'une fonction de réduction de carte?