匹配具有mongoid的不同模型中的两个或更多对象

时间:2012-11-02 16:46:38

标签: ruby-on-rails ruby ruby-on-rails-3 mongodb mongoid

我有2个型号:

class User
 include Mongoid::Document
 field :email, :type => String, :null => false, :default => ""
 .
 .
end

class Admin
 include Mongoid::Document
 field :email, :type => String, :null => false, :default => ""
 .
 .
end

我希望使用mongoid查询查找所有用户在Admin模型中都有相同的电子邮件,例如:

User.where(:email => {exist_admin_class?})

这可能吗?或者我使用has_one Userbelongs_to Admin

在两个模型之间建立了关系

这样做的最佳方式是什么?

非常感谢!

1 个答案:

答案 0 :(得分:0)

实际上,MongoDB不支持交叉集合查询。但这不是必要的,特别是在这个要求中。我建议使用继承:

mongoid HowTo

原因:仅仅因为管理员是一种特殊的用户。