【问题标题】:Ruby and MongoDB: require 'uri' returns false, should return trueRuby 和 MongoDB:要求 'uri' 返回 false,应该返回 true
【发布时间】:2017-03-21 09:28:43
【问题描述】:

我正在尝试通过 irb shell 连接到我的远程 mongoDB 数据库。

我运行了以下内容:

2.3.0 :001 > require 'mongo'
 => true 
2.3.0 :002 > Mongo::Logger.logger.level = ::Logger::INFO
 => 1 
2.3.0 :003 > require 'uri'
 => false 

最后一条语句应该返回 true。在此之后我尝试通过以下方式初始化客户端:

db = Mongo::Client.new(ENV['MLAB_URI'])

得到了错误:

NoMethodError: undefined method `each' for nil:NilClass

【问题讨论】:

  • require 返回false 表示该文件已被需要,可能是库。
  • 哦,好吧..那么当我尝试初始化数据库时会出现什么问题?
  • Mongo::Client#initialize 需要一个 array 字符串,但您将 nil 传递给它。显然环境变量MLAB_URI设置不正确。
  • 当我输入它时,我确实输入了实际的 URI,我仔细检查了用户名和密码是否正确..
  • db = Mongo::Client.new(ENV['mongodb://:@ds041526.mlab.com:41526/coursera_zips'])

标签: ruby-on-rails ruby mongodb


【解决方案1】:

我认为你没有设置 ENV 变量。
检查 ENV['MLAB_URI'] 变量值。

【讨论】:

  • 在终端中,我用我的实际用户名和密码输入了“set MLAB_URI=mongodb://:@ds041526.mlab.com:41526/coursera_zips”,我仔细检查了.由于这在 irb 中不起作用,我继续粘贴 URI 而不是 MLAB_URI,但我仍然遇到同样的问题。
猜你喜欢
  • 2019-03-29
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 2013-09-20
  • 2023-03-26
相关资源
最近更新 更多