mongodb mapreduce groupby两次

时间:2014-08-19 17:06:06

标签: mongodb mapreduce mongodb-query aggregation-framework

我是mongodb的新手,并尝试从现有的集合中计算每天有多少不同的登录用户。集合中的数据如下所示

[{
    _id: xxxxxx,
    properties: {
        uuid: '4b5b5c2e208811e3b5a722000a97015e',
        time: ISODate("2014-12-13T00:00:00Z"),
        type: 'login'
    }
}]

由于我的知识有限,我到目前为止所得到的是第一天,将数据输出到tmp集合并使用此tmp集合来执行anther map reduce并将结果输出到最终集合。这个解决方案将使我的收藏更大,我真的不喜欢它。有没有人可以帮助我,或者我可以遵循的任何好/更复杂的教程?感谢

1 个答案:

答案 0 :(得分:1)

我建议使用Aggregation而不是地图缩小。你可以认为聚合有点像linux管道,因为你可以将一个操作的结果传递给下一个。使用此策略,您可以执行2个连续的组,而无需向数据库写入任何内容。

请查看this question了解详细信息。