无法通过导轨连接到mLab的MongoDB

问题描述 投票:0回答:1

我正在将Heroku与mLab一起使用。

我使用mLab设置了我的应用程序以使用MongoDB。

在Heroku和我的本地计算机上均不起作用。

我可以使用命令行访问数据库:

mongo "mongodb://usrname:[email protected]:33238/heroku_4blzdg47"

但是当我使用config/mongoid.yml中的设置使用滑轨时:

production:
  sessions:
    default:
      uri: mongodb://usrname:[email protected]: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'
ruby-on-rails mongodb heroku mongoid mlab
1个回答
0
投票

在我将Mongoid更新到5.2版后效果很好

© www.soinside.com 2019 - 2024. All rights reserved.