在执行Get请求时获取关联

时间:2016-09-29 07:42:14

标签: ruby-on-rails ruby mongoid

我正在研究rails上的ruby作为我的mongoid API。假设我有两个模型:

class Human
  field: salary, type: Integer
  has_many: dogs
end

class Dog
  field: name, type: String
  belongs_to: human
end

我想在查询所有人类时获得人类拥有的所有狗,我该怎么做?

我知道嵌入式文档可以做到这一点,但后来我很难找到狗文档。这就是我使用关联而不是嵌入文档的原因。

我查询所有人时的预期输出:

[
    {
        "_id": "1",
        "salary": 5000,
        "dogs": [
            {
                "_id": "1",
                "name": "dog1",
            }
        ]
    },
    {
        "_id": "2",
        "salary": 8000,
        "dogs": [
            {
                "_id": "2",
                "name": "dog2",
            },
            {
                "_id": "3",
                "name": "dog3",
            }
        ]
    }
]

提前致谢。我对此很新,如果我问了一些愚蠢的问题,我很抱歉。

1 个答案:

答案 0 :(得分:2)

humans = Human.includes(:dog)

人类由所需数据组成,每个人包含他们拥有的狗,并带有详细信息,例如他们的名字。