1

我有一个我正在研究的图书馆已经离开了一段时间,当我回去工作时,它仍然很好,但是当我更新 gems: mongoid from 2.4.5to3.0.6并且还更新了 mongo 和 bson_ext from 1.6.0to1.7.0以及运行我的 rspec 时我得到错误

<top (required)>': uninitialized constant Mongo (NameError)

Mongoid.configure do |config|
  config.master = Mongo::Connection.new.db("db_test")
end

我有: ruby​​ 1.9.3p125 mongodb 2.0.2-x86_64

这个有同样的问题 Mongoid 给出了未初始化的常量 Mongo 但该解决方案对我不起作用。

添加require "mongo"我的会产生不同的错误:

spec_helper.rb:11:in 'block in <top (required)>': undefined method 'master=' for Mongoid::Config:Module (NoMethodError)

编辑 我仍然使用 3.x,这就是他们现在进行连接的方式

Mongoid.configure do |config|
  config.connect_to("db_test")
end
4

1 回答 1

1

Mongoid 3.x 不再使用 mongo gem,它使用了由 Mongoid 团队开发的名为 moped 的驱动程序。

如果您想坚持使用官方 10gen 驱动程序,您需要更新您的 Gemfile 以指定您要坚持使用 Mongoid 2.x:

gem "mongoid", "~> 2.0"
于 2012-09-21T14:41:37.803 回答