module Mongoid::Frequency

Constants

VERSION

Public Instance Methods

query(collection, match, group) click to toggle source
# File lib/mongoid_frequency/query.rb, line 5
def query(collection, match, group)
        collection.aggregate([
                {
                        '$match' => match
                },
                {
                        '$group' => {
                                _id: ensure_bling(group),
                                count: {
                                        '$sum' => 1
                                }
                        }
                }
        ]).each_with_object({}) do |element, h|
                h[element['_id']] = element['count']
        end
end

Private Instance Methods

ensure_bling(group) click to toggle source
# File lib/mongoid_frequency/query.rb, line 25
def ensure_bling(group)
        group.to_s.sub(/^\$?/, '$')
end