我安装了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")
但是我在运行代码时遇到以下错误
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>'
请帮忙!
答案 0 :(得分:43)
现在已经发生了好几次,这里有适用于我的解决方案:
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb
答案 1 :(得分:17)
这肯定是因为你的mongo服务器没有运行。由于您使用的是Ubuntu,请尝试执行sudo /etc/init.d/mongodb start
,然后查看您的代码是否有效。
答案 2 :(得分:3)
我刚刚遇到这个,因为我的/ etc / hosts文件中没有包含“localhost”的条目 - 因此Ruby无法解析“localhost”。我想你可以将127.0.0.1硬编码到你的代码而不是“localhost” - 或修复/ etc / hosts来包含:
127.0.0.1 localhost
答案 3 :(得分:1)
If you're on a Mac and used Brew, restarting the service solved it for me:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
You can find this info by running brew info mongodb
.
答案 4 :(得分:0)
在mac上,使用brew我发现brew info mongodb
然后使用
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
或mongod --config /usr/local/etc/mongod.conf
工作了!
答案 5 :(得分:0)
有时候没有足够的空间。
initAndListen中的异常:15926可用空间不足 期刊,终止