Ответ 1
Это определенно из-за того, что ваш сервер mongo не работает. Поскольку вы работаете в Ubuntu, попробуйте сделать sudo /etc/init.d/mongodb start
, а затем посмотрите, работает ли ваш код.
Я установил 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>'
Пожалуйста, помогите!
Это определенно из-за того, что ваш сервер mongo не работает. Поскольку вы работаете в Ubuntu, попробуйте сделать sudo /etc/init.d/mongodb start
, а затем посмотрите, работает ли ваш код.
Это случилось уже несколько раз, и вот решение, которое работает для меня:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb
Я просто столкнулся с этим из-за моего файла /etc/hosts, не содержащего запись для "localhost" - следовательно, Ruby не смог разрешить "localhost" . Я полагаю, вы можете скопировать код 127.0.0.1 в свой код, а не "localhost" , или исправить /etc/hosts, чтобы содержать:
127.0.0.1 localhost
Если вы на Mac и используете Brew, перезапуск службы разрешил его для меня:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Вы можете найти эту информацию, запустив brew info mongodb
.
На mac, используя brew, я обнаружил, что brew info mongodb
, а затем используя
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
или mongod --config /usr/local/etc/mongod.conf
работает!
Иногда просто недостаточно места.
Исключениев initAndListen: 15926 Недостаточно свободного места для журналы, завершающие