You are currently browsing the tag archive for the ‘Mongo’ tag.
With Scopify chainable scopes and named scopes can be added to any model, for example MongoMapper:
MongoMapper::Document::ClassMethods.send(:include, Scopify::ClassMethods) MongoMapper::Plugins::Associations::Proxy.send(:include, Scopify::ClassMethods)
It adds basic scoping and with some love from the Mongo community, it will soon be able to also merge multiple conditions / order`s.
A small hack to get minimum/maximum functionality on MongoMapper, its not 100% secure(can be wrong when inserting twice at the same time etc), but good enought for our usecase
Usage
User.maximum(:friend_count) User.minimum(:friend_count)
Code
module MongoMapper::Document::ClassMethods
def maximum(column)
first(:order => "#{column} desc").try(column)
end
def minimum(column)
first(:order => "#{column} asc").try(column)
end
end
