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たとえば、GroupIDで特定のものを検索する場合は、次のようにします。

my_user.groups.find(group_id)

クエリwhereも可能です:

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