Я переношу существующее приложение Rails для использования MongoDB (с Mongoid), и у меня возникли проблемы с выяснением того, как делать агрегации, как вы можете делать с MySQL.Совокупные функции с MongoDB/Mongoid и вычисленными полями
Раньше у меня было что-то вроде SELECT DATE(created_at) AS day, SUM(amount) AS amount GROUP BY day
, который будет возвращать коллекцию, вы можете перебрать в шаблоне, например так:
:day => '2011-03-01', :amount => 55.00
:day => '2011-03-02', :amount => 45.00
etc...
Кто-нибудь знает, как сделать это в Mongoid? Модель довольно проста:
class Conversion
include Mongoid::Document
include Mongoid::Timestamps
field :amount, :type => Float, :default => 0.0
...
# created_at generated automatically, standard Rails...
end
Спасибо!
-Avishai
Это на самом деле работает! Немного больше боли для использования, чем стандартные запросы стиля ActiveRecord, потому что вы должны получить результаты как «результат ['_ id'] ['value'] ['amount']', но довольно круто :-) – Avishai