Rails,Mongoid,按日期,月份,年份在created_at,折线图上分组

时间:2017-02-23 04:36:02

标签: ruby-on-rails mongodb mongoid linechart

我需要从rails moingo密码查询中获取Array响应。

按日期分组

[["Mar 26, 2016", 5],["Mar 27, 2016", 5],["Mar 29, 2016",8],["Mar 30, 2016",5],["Apr 1, 2016",5]]

按年分组

[["2013", 15],["2014", 225],["2015",8],["2016",5],["2017",5]]

我用ruby group_by和map做了同样的事情,但需要用mongo查询。

1 个答案:

答案 0 :(得分:1)

如果要对group_by使用mongo查询,则可以使用聚合。 您可以从mongo官方文档中了解有关聚合的更多信息 https://docs.mongodb.com/manual/reference/operator/aggregation/month/

示例:

ModalName.collection.aggregate([ { "$group": { _id: { month: {"$month": "$created_at"}, year: {"$year": "$created_at"} }, count: { "$sum": 1 } } } ] ).to_a