Awesome
Mongoid Report
Library for easy building aggregation report using mongodb aggregation framework.
Example
class Model
include Mongoid::Document
field :field1, type: Integer, default: 0
field :field2, type: Integer, default: 0
field :day, type: Date
end
class Report1
include Mongoid::Report
report 'example' do
attach_to Model do
group_by :day
column :field1, collection: Model
end
end
end
example = Report4.new
scope = example.aggregate_for(Model)
scope = scope.query('match' => { 'field1' => 1 })
result = scope.all
result.is_a?(Array) => true
result[0].is_a?(Hash) => true
example = Report5.new
scope = example.aggregate_for('summary-report')
result = scope.all
Installation
Add this line to your application's Gemfile:
gem 'mongoid-report'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mongoid-report
Contributors
@oivoodoo and @baltazore
Contributing
- Fork it ( http://github.com/oivoodoo/mongoid-report/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request