如何根据用户类型获取视频?

时间:2010-11-30 13:21:26

标签: ruby-on-rails mongodb mongoid

正如您在下面的定义中所看到的那样。用户可以拥有一个或多个视频。用户可以有一种类型。

如何根据特定类型列出视频?

class User
  include Mongoid::Document
  include Mongoid::Timestamps

  references_many :videos
  referenced_in :genre

  ....
end

class Video 
  include Mongoid::Document
  include Mongoid::Timestamps

  referenced_in :user
  ....
end

class Genre
  include Mongoid::Document

  references_one :user
  ....
end

2 个答案:

答案 0 :(得分:0)

你需要做几个请求。

list_your_want = Genre.all.inject({}) do |result, genre|
  result[genre.name] = genre.user.videos
  result
end

答案 1 :(得分:0)

最后,我决定在文档上添加一个类型缓存列。这意味着我在User集合和视频集合中有一个类型列