mongo - ruby​​连接问题

Cha*_*ani 19 ruby mongodb

我已经安装了mongo和bson_ext,现在我创建了一个带有以下内容的.rb文件::

require 'rubygems'
require 'mongo'

db = Mongo::Connection.new.db("mydb")
db = Mongo::Connection.new("localhost").db("mydb")
db = Mongo::Connection.new("localhost", 27017).db("mydb")
Run Code Online (Sandbox Code Playgroud)

但是,我在运行代码时遇到以下错误

yuzaki@ubuntu:~$ ruby firstruby.rb
/home/ryuzaki/.rvm/gems/ruby-1.9.2-p136/gems/mongo-1.2.0/lib/mongo/connection.rb:451:in `connect': Failed to connect to a master node at localhost:27017 (Mongo::ConnectionFailure)
    from /home/ryuzaki/.rvm/gems/ruby-1.9.2-p136/gems/mongo-1.2.0/lib/mongo/connection.rb:554:in `setup'
    from /home/ryuzaki/.rvm/gems/ruby-1.9.2-p136/gems/mongo-1.2.0/lib/mongo/connection.rb:98:in `initialize'
    from firstruby.rb:4:in `new'
    from firstruby.rb:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

请帮忙!

kte*_*tec 43

现在已经发生了好几次,这里有适合我的解决方案:

sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb
Run Code Online (Sandbox Code Playgroud)

  • 在不干净的关机后我遇到了类似的问题并且解除锁定解决了它.谢谢! (3认同)

Dyl*_*kow 17

这肯定是由于你的mongo服务器没有运行.因为你在Ubuntu上,尝试做一个sudo /etc/init.d/mongodb start,然后看看你的代码是否有效.

  • 你在你的机器上安装了mongo(我不只是指宝石,我的意思是一个真正的mongo服务器).如果没有,你需要安装它:`sudo apt-get install mongodb`. (4认同)