Подтвердить что ты не робот

Проблема с соединением mongo - ruby

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

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

[email protected]:~$ 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>'

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

4b9b3361

Ответ 1

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

Ответ 2

Это случилось уже несколько раз, и вот решение, которое работает для меня:

sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb

Ответ 3

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

127.0.0.1 localhost

Ответ 4

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

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

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

Ответ 5

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

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

Ответ 6

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

Исключение

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