Mongoid provides an elegant way to persist and query Ruby objects to documents in MongoDB.
Mongoid 1.x for
Rails 2
gem install mongoid
Mongoid 2.x for
Rails 3
gem install mongoid --pre
Mongoid provides an elegant way to persist and query Ruby objects to documents in MongoDB.
class Person
include Mongoid::Document
field :name
embeds_many :phones
...
end
class Phone
include Mongoid::Document
...
end
.all(:aliases => ["The Dude", ...])
.and(:age.gt => 18)
.excludes(:status => "Married")
.in(:status => ["Single", "Divorced"])
.where(:age.lte => 55)
Person
.where(:last_name => "Zorg")
.and(:middle_initial => "J")
.and(:age.gt => 30)
class Player
include Mongoid::Document
field :status
scope :inactive,
:where => { :active => false }
end
class Person
include Mongoid::Document
include Mongoid::Versioning
...
end
class Person
include Mongoid::Document
before_create :do_something
after_destroy :do_something_else
...
end
# add this to config/application.rb
require 'mongoid/railtie'
>> rails generate mongoid:config
# generates config/mongoid.yml
>> script/rails generate model
# generates a mongoid model
# all reads go to slaves
class Person
include Mongoid::Document
enslave
end
# force a single query to use slaves
.where(:name => "Durran").enslave