我有一个 mongodb 集合,其中包含如下文档:
[
{
: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'}
}
]
我需要的是为每个项目构建一个“仪表板”聚合最新活动(当天)。结果应该是这样的:
{
: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 ],
}
}
结果将用于构建“Facebook 风格”的语法,例如:“Mike、John 和其他 3 人今天在您的项目上添加了评论。”
如何使用组或 map-reduce 函数聚合这些数据?