0

我不明白这个输出:

$ rails c
Loading development environment (Rails 3.2.14)
1.9.3p392 :001> require 'rubygems'
 => false 
1.9.3p392 :002 > require 'mongo'
 => false 
1.9.3p392 :003 > include Mongo
 => Object 
1.9.3p392 :004 > Mongo::VERSION
 => "1.6.0" 
1.9.3p392 :005 > c = MongoClient.new
NameError: uninitialized constant MongoClient
    from (irb):5

显然 bundler 正在正确运行并加载 MongoDB 驱动程序 gem“mongo”(版本 1.6,应该没问题)。

然而,当我尝试根据文档引用 MongoClient 时,我得到“未初始化的常量”。如果我尝试将其引用为 Mongo::MongoClient.new,也会发生同样的情况

我在这里想念什么?

4

1 回答 1

0

从您的控制台输出中,您使用的是 MongoDB Ruby 驱动程序版本 1.6.0。可以在此处找到相应的 API 文档。

http://api.mongodb.org/ruby/1.6.0/

版本 1.6.0 使用旧的 Mongo::Connection 类连接到 MongoDB。

MongoClient 类在 1.8.0 版中是新的,因此在任何旧版本中都不可用。

请使用匹配的 API 和文档。请考虑升级到新版本的 mongo_mapper (0.12.0) 和 mongo (1.9.2) gems。

于 2013-10-29T18:43:15.370 回答