2012-04-14 24 views
1

こんにちは私はドキュメントを埋め込んでいますが、idでそれらをクエリできません。私はすべてを検査で出力することができ、正しいIDがありますが、それらを照会することはできません。 私はembeds_manyコースのモデルがあります:私は、任意の成功なしでこれを試してみましたcourse_membersMongoidの埋め込みクエリ

:embedded_inとcourse_membersとCourseMemberモデル:もちろん、:inverse_of =>このコードでは

puts Course.where("course_members.id" => params[:id]) 

を私は達することができるの具体的な文書:

c = Course.where("course_members.accepted" => 2).all 
c.each do |l| 
l.course_members.each do |f| 
    puts f.inspect 
end 
end 

しかし、1つのモンゴイドクエリでデータを取得するにはどうすればよいですか?

答えて

6

私はMongoDBの中に本当のid引数は_idある

puts Course.where("course_members._id" => BSON::ObjectId(params[:id])) 

を推測、mongoid関数.idは単なる便利なラッパーです。

編集:また、文字列params[:id]を正しいBSON IDに変換する必要があります。

+0

Course.where( "course_members._id" => BSON :: ObjectId.from_string(params [:id])) – user934801

関連する問題