我最近一直在学习Ruby on Rails,并且正在使用Heroku作为学习的免费生产环境。我到了想要将MongoDB添加到我的设置中。我选择了Mongoid 5(现在是最新版本)和MongoLab - 它提供了Heroku的免费计划。
我难以配置mongoid.yml,因为我在stackoverflow上找到的大部分答案都已过时 - 谈论版本4,3或甚至2。
所以在我找到一个有效的解决方案之后,我决定在这里发布它,主要是作为记录它的一种方式。如果您有更好的方法来配置mongoid.yml以在Heroku上使用MongoLab,那将非常受欢迎。
感谢。
答案 0 :(得分:0)
在寻找这个答案时,我找到了旧版Mongoid的解决方案或者与MongoHQ一起使用的解决方案(另一个Heroku mongoDB托管解决方案)。
我最终使用了this answer,它展示了一种方法来处理MongoidHQ的Mongoid 4。我将其改编为与Mongoid 5和MongoLab一起使用,最终得到以下结果:
<% if ENV['MONGOLAB_URI'] %>
<% uri = URI.parse(ENV['MONGOLAB_URI']) %>
production:
clients:
default:
database: <%= uri.path.sub('/','') %>
hosts:
- <%= uri.host %>:<%= uri.port %>
options:
user: <%= uri.user %>
password: <%= uri.password %>
<% end %>
希望对你有所帮助。