我和Devise一起在我的最新项目中使用了Mongoid。到目前为止它很棒。
我想计算每天按创建日期分组的用户注册次数。
我知道在mongoDB中它没有像关系数据库这样的传统组,并且使用Map / Reduce进行此类查询。
我可以通过使用纯ruby并在一系列日期中循环来实现这一点,但是我真的想使用MongoDB中的聚合框架生成这些信息,但是在执行它时遇到了一些麻烦。
有没有人能给我一个例子,说明如何使用基于日期创建的map reduce来获取Mongoid的文档数量?
由于
贝
答案 0 :(得分:0)
我有a blog post描述如何使用聚合框架按日分组(或任何其他截断日期时间字段)。
简而言之,您需要使用$ project stage将created_at字段转换为“日期”值(或反映特定日期午夜的值),然后使用$ group将日期作为_id进行转换{$ sum:1}来获取用户数。