MongoMapper不能同等对待“id”和“_id”:为“id”返回nil,但为“_id”返回正确的Mongo ID

时间:2011-10-27 03:06:05

标签: ruby-on-rails ruby-on-rails-3 mongodb mongomapper

我们在MongoDB 2.0.0上使用MongoMapper 0.9.2和Rails 3.0.6。

此代码:

game = Game.new
logger.info "SHOOT ME 1: #{game.id}"
logger.info "SHOOT ME 2: #{game._id}"

生成此输出:

SHOOT ME 1:
SHOOT ME 2: 4ea8c93597b2d53fa9000003

我们没有修改Game构造函数。

宝石列表的输出:

*** LOCAL GEMS ***

abstract (1.0.0)
actionmailer (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
actionpack (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
activemodel (3.0.6, 3.0.0)
activerecord (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
activeresource (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
activesupport (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
arel (2.0.9, 1.0.1)
bson (1.4.1)
bson_ext (1.4.1)
builder (3.0.0, 2.1.2)
bundler (1.0.13)
cgi_multipart_eof_fix (2.5.0)
daemons (1.0.10, 1.0.9)
dispatcher (0.0.1)
erubis (2.6.6)
fastthread (1.0.4, 1.0.1)
fcgi (0.8.7)
feedtools (0.2.29)
gem_plugin (0.2.3)
hoe (1.7.0, 1.5.1, 1.4.0)
i18n (0.6.0, 0.5.0, 0.4.2)
image_science (1.1.3)
json_pure (1.1.4)
mail (2.2.19, 2.2.15)
mime-types (1.16)
mongo (1.4.1)
mongo_mapper (0.9.2)
mongrel (1.1.5, 1.1.4)
mongrel_cluster (1.0.5)
multi_json (1.0.3)
mysql (2.8.1, 2.7)
mysql2 (0.3.2)
oauth (0.3.4)
passenger (2.2.15, 2.2.4, 2.1.2, 2.0.3, 2.0.2)
plucky (0.3.8)
polyglot (0.3.1)
rack (1.2.2, 0.9.1, 0.4.0, 0.3.0)
rack-mount (0.6.14)
rack-test (0.5.7)
rails (3.0.6, 3.0.0, 2.3.2, 2.2.2, 2.1.2, 2.1.0, 2.0.2)
railties (3.0.6, 3.0.0)
rake (0.8.7, 0.8.4, 0.8.1)
rmagick (2.9.1, 2.5.2, 2.5.1)
ruby-hmac (0.3.2)
rubyforge (1.0.0, 0.4.5, 0.4.4)
rubygems-update (1.1.0, 1.0.1)
RubyInline (3.7.0)
sqlite3-ruby (1.2.4, 1.2.2)
thor (0.14.6)
treetop (1.4.9)
tzinfo (0.3.27, 0.3.26)
uuidtools (1.0.7)
whois (2.0.4)

我们认为MongoMapper应该将id视为_id。我们是否需要为此启用一些配置设置?

我们感到困惑。希望有人可以提供帮助。

谢谢!

0 个答案:

没有答案