どのように私は_idによって文書を検索することができますか?
質問
ただし、クエリは動作しません。 -
私は、オブジェクトIDを持っている場合、ドキュメントを取得しようとしています。
@collection = @db.collection('Mylist')
@result = @collection.find({"_id" => params[:id]})
私は、クエリのバリエーションを試してみた - それは常に空生み出す - しかし私は、以下のようにコレクションにクエリをしようとすると、うまくいくこと。
。@result = @collection.find({"Exist" => "True"})
なぜ?複雑なクエリが動作することを奇妙ですが、_idによって、単純なクエリは何も返しません。
可能であれば、私はMongoMapperを使用する必要はありません。
おかげ
解決
は、それを見つけた - あなたはこのようにそれをラップする必要があります -
find({"_id" => Mongo::ObjectId(params[:id])})
他のヒント
find(:_id => BSON::ObjectID(params[:id])
これも動作します: @ coll.find_one(ObjectID.from_string(paramsは[:ID]))
所属していません StackOverflow