Mongoid + Devise每日注册

时间:2013-04-22 16:50:40

标签: ruby-on-rails-3 mongodb devise mapreduce mongoid

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

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

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

我可以通过使用纯ruby并在一系列日期中循环来实现这一点,但是我真的想使用MongoDB中的聚合框架生成这些信息,但是在执行它时遇到了一些麻烦。

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

由于

1 个答案:

答案 0 :(得分:0)

我有a blog post描述如何使用聚合框架按日分组(或任何其他截断日期时间字段)。

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