【问题标题】:Mongoid embedded queryMongoid 嵌入式查询
【发布时间】:2012-04-26 12:30:28
【问题描述】:

您好,我有嵌入文档,但我无法通过 id 查询它们。我可以用检查输出所有内容,并且有正确的 ID,但无法查询它们。 我有一个 embeds_many :course_members 的课程模型和一个带有 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

但是如何通过一个 Mongoid 查询获取我的数据?

【问题讨论】:

    标签: ruby-on-rails mongodb mongoid


    【解决方案1】:

    我猜

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

    MongoDB中真正的id参数是_id,mongoid中的函数.id只是一个方便的包装器。

    编辑:您还必须将字符串 params[:id] 转换为正确的 BSON ID。

    【讨论】:

    • Course.where("course_members._id" => BSON::ObjectId.from_string(params[:id]) )
    猜你喜欢
    • 2015-05-13
    • 2011-10-03
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    相关资源
    最近更新 更多