我在ubuntu机器上使用rails 4.1.8以及
ruby 2.1.2p95和mongo-2.0.4 gem来从rails中的某个控制器(X)连接到mongo db v3.0.3.我已经尝试了许多人建议的下面给出的代码组合.但我在这两种情况下都得到了类似的错误:
require 'mongo' include Mongo def mongocon @db = Mongo::Connection.new("192.168.56.102",27017).db("convoos") #@db = MongoClient.new("192.168.56.102",27017).db("convoos") end
错误:
uninitialized constant Mongo::Connection uninitialized constant WorkdbController::MongoClient
解决方法
您正在使用新的Mongo 2.0驱动程序,它打破了与1.x系列的向后兼容性.您正在尝试的代码是1.x系列.
你只需要做
require 'mongo' db = Mongo::Client.new([ '192.168.56.102:27017' ],:database => 'convoos')
这是Ruby Mongo驱动程序的tutorial for the 2.x version.