您好我有嵌入文档但我不能通过id查询它们。我可以输出所有检查,并有正确的ID,但查询它们是不可能的。 我有一个课程模型embeds_many:course_members和一个Course_mber模型与embedded_in:course,:inverse_of => :course_members
我尝试了这个没有取得任何成功:
puts Course.where("course_members.id" => params[:id])
使用此代码,我可以访问rigth文档:
c = Course.where("course_members.accepted" => 2).all
c.each do |l|
l.course_members.each do |f|
puts f.inspect
end
end
但是如何通过一个Mongoid查询获取我的数据呢?
答案 0 :(得分:6)
我想
puts Course.where("course_members._id" => BSON::ObjectId(params[:id]))
MongoDB中的真实id参数是_id
,mongoid中的函数.id
只是一个方便的包装器。
修改:您还必须将字符串params[:id]
转换为正确的BSON ID。