どのように私は_idによって文書を検索することができますか?

StackOverflow https://stackoverflow.com/questions/2235262

  •  19-09-2019
  •  | 
  •  

質問

ただし、クエリは動作しません。

-

私は、オブジェクト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]))

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top