Не удалось подключиться к MongoDB mLab с помощью рельсов - PullRequest
0 голосов
/ 27 февраля 2020

Я использую Heroku с mLab.

Я установил свое приложение с mLab для использования MongoDB.

Это не сработало ни в Heroku, ни на моем локальном компьютере.

Я могу получить доступ к базе данных, используя командную строку:

mongo "mongodb://usrname:pass@ds333238.mlab.com:33238/heroku_4blzdg47"

, но когда я использую рельсы с настройкой в ​​config/mongoid.yml:

production:
  sessions:
    default:
      uri: mongodb://usrname:pass@ds333238.mlab.com:33238/heroku_4blzdg47

, это будет ошибка:

  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.019052, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 0. Node is <Moped::Node resolved_address=nil> runtime: n/a
  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.038719, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 1. Node is <Moped::Node resolved_address=nil> runtime: n/a
  MOPED: Could not resolve IP for: ds333238.mlab.com:33238, delta is 0.054449, error class is #<Resolv::ResolvError: Resolv::ResolvError>, retries is 2. Node is <Moped::Node resolved_address=nil> runtime: n/a
  Rendered homes/new.html.erb within layouts/application (368.6ms)
Completed 500 Internal Server Error in 385ms

ActionView::Template::Error (Could not connect to a primary node for replica set #<Moped::Cluster:70222534873720 @seeds=[<Moped::Node resolved_address=nil>]>)

Если я установлю config/mongoid.yml для локальной базы данных, она будет работать:

production:
  sessions:
    default:
      uri: mongodb://localhost:27017/app_development

Что-то не так?

Часть моих драгоценных камней:

ruby '2.3.7'
gem 'rails', '4.1.16'
gem "mongoid", '4.0.0'

1 Ответ

0 голосов
/ 28 февраля 2020

Хорошо работает после обновления Mongoid до версии 5.2

.
...