0

我一直在与 Devise 一起在我的最新项目中使用 Mongoid。到目前为止,它很棒。

我想计算按 created_at 日期分组的每天用户注册数。

我知道在 mongoDB 中它没有像关系数据库那样的传统组,而是使用 Map/Reduce 进行此类查询。

我可以通过使用纯 ruby​​ 并遍历一系列日期来做到这一点,但我真的很想使用 MongoDB 中的聚合框架生成这些信息,但这样做有点麻烦。

谁能给我一个例子,说明如何使用基于创建日期的 map reduce 来获取 Mongoid 文档的数量?

谢谢

托尼

4

1 回答 1

0

我有一篇博客文章描述了如何使用聚合框架按天(或日期时间字段的任何其他截断)进行分组。

简而言之,您需要做的是使用 $project stage 将 created_at 字段转换为“日期”值(或反映特定日期午夜的值),然后在执行 {$sum 时将日期为 _id 的 $group :1} 获取用户数。

于 2013-04-25T03:49:36.417 回答