Монго - проблема с соединением ruby - PullRequest
19 голосов
/ 29 января 2011

Я установил Монго и 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")

Однако я получаю следующую ошибку при запуске кода

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>'

Пожалуйста, помогите!

Ответы [ 6 ]

43 голосов
/ 12 октября 2011

это происходило несколько раз, и вот решение, которое мне подходит:

sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb
17 голосов
/ 29 января 2011

Это определенно связано с тем, что ваш сервер Монго не работает. Поскольку вы работаете в Ubuntu, попробуйте выполнить команду sudo /etc/init.d/mongodb start и посмотрите, работает ли ваш код.

3 голосов
/ 04 июля 2012

Я только что столкнулся с этим из-за того, что мой файл / etc / hosts не содержит записи для "localhost" - следовательно, Ruby не может разрешить "localhost".Я полагаю, вы можете жестко закодировать 127.0.0.1 в свой код, а не в "localhost" - или исправить / etc / hosts, чтобы он содержал:

127.0.0.1 localhost

1 голос
/ 29 октября 2015

Если вы работаете на Mac и используете Brew, перезапуск сервиса решил это для меня:

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

Вы можете найти эту информацию, набрав brew info mongodb.

0 голосов
/ 23 сентября 2015

Иногда места просто не хватает.

исключение в initAndListen: 15926 Недостаточно свободного места для журналы, заканчивающиеся

0 голосов
/ 22 июля 2015

На Mac, используя Brew, я обнаружил, что brew info mongodb, а затем, используя затем

ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents или mongod --config /usr/local/etc/mongod.conf сработало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...