オンライン APIでは、 を参照していMongo::ObjectID
ます。
私は持ってrequire 'mongo'
いますが、まだルビーはそれを見つけることができません。たとえば、ID でオブジェクトを見つける必要があり、次のようにしています。
mongo_db['post'].find({_id: Mongo::ObjectID(params[:id])}).next
Mongo::ObjectID が見つからないようで、結果は次のようになります。NoMethodError - undefined method ``ObjectID' for Mongo:Module:
それで、しばらくして私は始めてrequire 'bson'
やりました
mongo_db['post'].find({_id: BSON::ObjectId(params[:id])}).next
そしてそれはうまくいきました!
では、BSON::ObjectId と Mongo::ObjectID の違いは何ですか? また、後者を機能させるにはどうすればよいでしょうか (そして、本当に必要なのでしょうか)?
PS: 私は持っている
bson (1.5.2, 1.4.1)
Authors: Jim Menard, Mike Dirolf, Kyle Banker
Homepage: http://www.mongodb.org
Installed at (1.5.2): /usr/local/lib64/ruby/gems/1.9.1
(1.4.1): /usr/local/lib64/ruby/gems/1.9.1
Ruby implementation of BSON
mongo (1.5.2, 1.4.1)
Authors: Jim Menard, Mike Dirolf, Kyle Banker
Homepage: http://www.mongodb.org
Installed at (1.5.2): /usr/local/lib64/ruby/gems/1.9.1
(1.4.1): /usr/local/lib64/ruby/gems/1.9.1
Ruby driver for the MongoDB