0

有一个更好的方法吗?

class User
    embeds_many :groups

    def group(group_id)
        gid = Moped::BSON::ObjectId(group_id)
        self.groups.each.detect{|group| group.id == gid}
    end
end

class Group
    embedded_in :user
end

我以这种方式访问​​该组:

User.new.group(group_id)

如果用户有 1000 个嵌入组(假设),那么这是否意味着我必须遍历其中的 1000 个?有没有更好的方法来访问特定组?

4

1 回答 1

2

您可以像普通模型一样查询groups属性。User例如,如果你想Group通过它的 id 找到一个特定的:

my_user.groups.find(group_id)

where也可以查询:

my_user.groups.where(id: group_id).first
于 2013-03-27T08:08:40.657 回答