Ruby on rails Ruby和MongoDB:require';uri';返回false,应返回true
我正试图通过irb外壳连接到我的远程mongoDB数据库 我运行了以下命令:Ruby on rails Ruby和MongoDB:require';uri';返回false,应返回true,ruby-on-rails,ruby,mongodb,Ruby On Rails,Ruby,Mongodb,我正试图通过irb外壳连接到我的远程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::Cl
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
我想您还没有设置ENV变量。
检查ENV['MLAB_URI']变量值。
require
返回false
表示该文件已被要求,可能是库要求的。哦,好的。。那么,当我尝试初始化db时会出现什么问题呢?Mongo::Client#initialize
需要一个字符串数组,但您向它传递了一个nil
。显然,环境变量MLAB_URI
设置不正确。当我输入它时,我确实输入了实际的URI,并且我仔细检查了用户名和密码是否正确。.db=Mongo::Client.new(ENV['mongodb://:@ds041526.MLAB.com:41526/coursera_zips')在我输入的终端中“设置MLAB_URI=mongodb://:@ds041526.MLAB.com:41526/coursera_zips”与我的实际用户名和密码,我仔细检查了一遍。由于这在irb中不起作用,我继续粘贴URI而不是MLAB_URI,但我仍然遇到同样的问题。