RailsでmongoDBの複数DBに接続する

mongoDBをつかっているRailsアプリケーションで、複数DBにアクセスするための設定方法です。

config/mongoid.yml

development:
  sessions:
    default:
      database: primary_db
      hosts:
        - 192.168.56.100:27017
    secondary:
      database: secondary_db
      hosts:
        - 192.168.56.101:27017

secondaryのデータベースを参照するModelに以下追記します。

class Item
  include Mongoid::Document
  include Mongoid::Timestamps
  store_in session: :secondary,  database: :secondary_db
  ...
end

いちおうこれでプライマリにもセカンダリにも接続できました。 (この設定でいいのかはちょっと不安ですが...)

参考

ruby on rails - Mongoid: using more than one database? - Stack Overflow