通过引用属性进行Mongoid查询

时间:2013-01-31 04:24:19

标签: ruby-on-rails mongodb mongoid

这是一个简单的结构:

class Dinner
  belongs_to :user
  field :name

class User
  has_many :dinners
  field :name

现在,我想要的是找到'John'主持的所有晚餐。寻找类似的东西:

Dinner.where('user.name' => 'john')

问题是我找不到任何通过引用属性查询的方法。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

我认为它不适用于您的模型。 嵌套属性的AFAIK查询仅适用于嵌入式文档。 您有两种选择:

Dinner.where(user: User.find_by(name: 'john'))

或直接在晚餐中存储用户名。这是多余的,但会使您的查询更简单。

MongoDB不是关系数据库,不支持连接。