Mongoid 3 + Heroku (MongoHQ) cause Moped::Errors::OperationFailure Mongoid 3 + Heroku (MongoHQ) cause Moped::Errors::OperationFailure mongodb mongodb

Mongoid 3 + Heroku (MongoHQ) cause Moped::Errors::OperationFailure


You will need to use Ruby 1.9.3. See Mongoid documentation here and Heroku documentation here on how to use 1.9.3.

I was also getting similar errors, and I changed my gemfile to include ruby '1.9.3' and everything worked as expected again.

Edit:@herb pointed out that you need the latest version of bundler for this to work (gem install bundler --pre). Otherwise, ruby '1.9.3' in your Gemfile will not work.


Try adding an "options" area to the default session and add "skip_version_check: true" as one of the options.

JasonMongoHQ


As a workaround, hardcoding the uri from heroku config seems to do the trick.

ex:

production:  sessions:    default:      uri: "mongodb://heroku:xxxx@domain.mongohq.com:000/appyyyy"      options:        skip_version_check: true        safe: true

I'm guessing the nilclass error was because <%= ENV['MONGOHQ_URL'] %> was returning nil