MongoModel alternatives and similar gems
Based on the "ORM/ODM" category.
Alternatively, view MongoModel alternatives based on common mentions on social networks and blogs.
7.1 5.6 L4 MongoModel VS Neo4j.rbAn active model wrapper for the Neo4j Graph Database for Ruby.
5.0 4.1 L5 MongoModel VS Hanami::ModelRuby persistence framework with entities and repositories
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of MongoModel or a related project?
MongoModel is a Ruby ORM for interfacing with MongoDB databases.
MongoModel is distributed as a gem. Install with:
gem install mongomodel
For performance, you should probably also install the BSON C extensions:
gem install bson_ext
Using with Rails
Add MongoModel to your Gemfile (and run
Create the configuration file
rails generate mongo_model:config DATABASENAME
Generating a model/document:
rails generate model Article title:string body:string published_at:time approved:boolean
Generating an embedded document:
rails generate model Chapter title:string body:string -E
class Article < MongoModel::Document property :title, String, :default => 'Untitled' property :body, String property :published_at, Time, :protected => true property :approved, Boolean, :default => false, :protected => true timestamps! validates_presence_of :title, :body belongs_to :author, :class => User scope :published, where(:published_at.ne => nil) end
MongoModel can be configured similarly to ActiveRecord by creating/editing
config/mongomodel.yml. The most basic configuration might look like:
development: database: mymongodbname host: localhost port: 27017
The config file also supports specifying the username, password, pool_size, password and replicas. Running
rails generate mongo_model:config DATABASENAME will generate a basic config file for you.
Using Replica Sets
When working with replica sets, replace the host/port configuration with an array of replicas (
production: database: database_name replicas: - some.host.com:27017 - another.host.com:27017 username: username password: password