1

こんにちは私はドキュメントを埋め込みましたが、IDでクエリできません。inspectですべてを出力でき、正しいIDがありますが、それらをクエリすることはできません。embeds_many:course_membersを含むCourseモデルと、embedded_in:course、:inverse_of =>:course_membersを含むCourseMemberモデルがあります。

私はこれを試しましたが成功しませんでした:

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つのMongoidクエリでデータを取得するにはどうすればよいですか?

4

1 に答える 1

6

私は推測する

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

MongoDBの実際のid引数はです。mongoid_idの関数は便利なラッパーです。.id

編集:params[:id]文字列を正しいBSONIDに変換する必要もあります。

于 2012-04-14T10:14:23.250 に答える