我正在将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'
在我将Mongoid更新到5.2版后效果很好