我有一个User
模型与相关EnrollmentInformation
模型:如何与轨道上相关的模型查询和mongoid
class User
include Mongoid::Document
has_one :enrollment_information
end
class EnrollmentInformation
include Mongoid::Document
belongs_to :user
field :type_one, :type => Boolean
end
我想找到的所有用户,其中EnrollmentInformation
的type_one
字段的值是true。
我已经尝试了几个变化没有成功。有谁知道我可以如何做这个查询?
User.includes(:enrollment_information).where(:"enrollment_information.type_one" => true)
编辑:
更新查询
谢谢,我实际上已经试过“enrollment_information.type_one”为好。已经有不少用户,所以我会讨论将enrollment_information嵌入用户与其他开发者,并看看他们的想法。我对Mongo并不是很熟悉:嵌入一个现有的文档是一个微不足道的改变(看起来它不会)? –
不知道数据库的复杂性/大小,您可以设置一个rake任务来遍历每个注册信息文档,并在用户上设置嵌入式版本。 – stantona
但如果你想列出所有的注册信息,那么你必须遍历所有的用户文件,当你使用嵌入式文件,而那不是关系的情况下... – abhas