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")
但是,我在运行代码时遇到以下错误
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 `'
请帮忙!
这肯定是由于你的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中的exception:15926日记帐的可用空间不足,已终止
- 即使nested_attributes无效,update_attributes也始终返回true
- 如何在Rail 2.3.5中生成mongoid.yml配置?
- 使用Mongoid,我可以“update_all”一次将值推送到多个条目的数组字段吗?
- 当我将我的应用程序推送到Heroku时,为什么我收到错误500“我们很抱歉,但出了点问题”?
- Rails 4 / Devise / MongoDB:使用自定义属性和强参数的“未允许的参数”
- mongodb和mongomapper
- MongoDB / Mongoid和Rails 3的日期时间没有填充
- 运行时更改模型与mongodb / mongoid
- Ruby / rails:mongoid with mongo(gem); 一场激烈的冲突? 如何处理不同的版本?