Ruby On Rails Mongoid Group By

6

我使用 group_by 方法按日期分组。

Example: Product.all.group_by {|d| d.created_at } # return Hash 

但是kaminari不支持哈希。我使用Mongoid并且需要按日期分组并进行页面导航(kaminari)。怎么做呢?

4
你看过这些相关问题了吗?https://dev59.com/vVXTa4cB1Zd3GeqP4LVs?rq=1https://dev59.com/7VvUa4cB1Zd3GeqPqBdF?rq=1https://dev59.com/F2fWa4cB1Zd3GeqPgmnG?rq=1http://stackoverflow.com/questions/15569469/group-clause-mongoid-rails?rq=1 - Joe Frambach
你不会在 group_by 之前调用 kaminari 方法吧? - cpuguy83
1个回答

1

Kaminari仅支持对数组进行分页,例如:

Kaminari.paginate_array(an_array).page(1).per(10)

group_by不是mongoid方法,它是Array的方法,它会在内存中对所有数据进行分组。 要使用mongoid分组功能,您需要使用mongodb map/reduce。

如果您确实需要在内存中分组结果,并在视图中显示它,您需要手动将哈希转换为数组。


你知道如何实现这个吗?我的意思是使用kaminari进行group_by然后分页。 - nmfzone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接