在蒙古最多访问

如何使用mongodb获取每天/每周/每月访问量最大的页面/条目

此解决scheme适用于统计信息,但不适用于访问最多的条目列表MongoDB用于存储大量指标/分析数据的方法

地图/减less太慢…或不?

谢谢

根据你提到的例子,有一个集合创build了每小时的url命中。

假设这样的示例文档

{page: "/index.html", time: Date( "Mon Apr 18 07:49:28 2011"), views: 53, tweets: 2} 

你可以使用Mongodb的聚合框架。 以下是每月收集意见的sudo代码。

  db.pagestats.aggregate( { $project : { month_hits : { $month : "$time" } } }, { $group:{_id : {$month_hits:"$month_hits"},hits: { $sum: "$views" } } }, { $sort : { "_id.hits" : 1 }} } ); 

有关聚合的更多详细信息,请参阅此链接 。

Map-Reduce不适用于实时查询。 因此,您可以执行类似的聚合并将结果保存在临时集合中,并将其用于实时查询。 您可以执行增量式MapReduce,以便您不必再为整个集合运行MapReduce。 在这里阅读更多的细节。

增量MapReduce将是我select这种情况。