How to use mongodb in Rails application
Rails does not support nosql database out of the box. Here is how to use mongodb as database in Rails
Rails has “Active record”. Active record supports relational database management systems (RDBMS) or structured query language (SQL) for Rails. But what about nosql? for example using MongoDB. There’s not out of the box solution on rails documentation.
We will cover how to connect rails application with MongoDB using mongoid .
What is mongoid?
Mongoid is the officially supported object-document mapper (ODM) for MongoDB in Ruby. (Not just Rails!)
Fresh Install
When installing rails as a new project use —skip-active-record option
rails new your_app --skip-active-record
Intall mongoid with Gem
gem install mongoid
Or add this in your Gemfile
gem 'mongoid', '~> 8.0.0'
Feel free to change your desired mongid version.
Run bundle install for this new Gem.
Configuration
To generate the default config file, run
rails g mongoid: config
It will generate the config file at config/mongoid.yml
Feel free to update hosts or db_name here
Now you can scaffold your apps, for example
bin/rails g scaffold Post title:string body:text
It will generate Post’s models, controllers, etc. (but no db/migration file!)