2013-03-26 11 views
6

Dla grupy według daty użyłem metody group_by.Grupa Mongoid Ruby On Rails By

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

Ale kaminari nie wspierają Hasha. Używam Mongoida, a ja potrzebuję grupy według daty z nawigacją strony (kaminari). Jak to zrobić?

+4

Czy mowa tych pokrewnych pytań? http://stackoverflow.com/questions/5482227/grouping-mongoid-objects-by-day?rq=1 http://stackoverflow.com/questions/7354851/mongoid-group-conditions?rq=1 http://stackoverflow.com/questions/12014009/mongoid-group-by-or-mongodb-group-by-in-rails?rq=1 http://stackoverflow.com/questions/15569469/group -clause-mongoid-rails? rq = 1 –

+0

Nie nazwałbyś metod kaminari przed group_by? – cpuguy83

Odpowiedz

1

Kaminari obsługuje tylko paginate na tablicy np

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

group_by nie jest metoda mongoid metoda go Array, jest grupowanie wszystkich danych z pamięci. Aby korzystać z funkcji grupowania mongoid, musisz użyć mongodb map/reduce.

Jeśli potrzebują wynik grupy w pamięci i pokazać, że w świetle, to trzeba ręcznie konwertować hash do Array