在蒙古语中构造复杂关系

| 假设我在HABTM环境中有两个单独的模型User和Event。 现在,我想扩展它以包含有关该关系的信息。诸如用户是否打算参加活动之类的事情。 在标准ActiveRecord中,这可以通过has_many:through关系来完成,但是根据我的阅读,尝试在mongoid中创建这种关系是一个坏主意。解决这个问题的好方法是什么? (在mongo停留) 这是我对这种功能的期望的一个示例:
class User
  field :name
  has_many :user_events
  has_many :events, :through => :user_events
end

class Event
  field :title 
  has_many :user_events
  has_many :users, :through => :user_events
end

class UserEvent
  field :attending?, :type => Boolean
  belongs_to :users
  belongs_to :events
end
    
已邀请:
class User
  include Mongoid::Document

  field :name
  embeds_many :user_events
end

class UserEvent
  include Mongoid::Document

  belongs_to :event 
  embedded_in :user

  field :attending?, :type => Boolean
end

class Event
  include Mongoid::Document
  field :title
end
为了找到用户正在参加的所有事件:
user = User.where(:name => \'Joe\').first
user.user_events.where(:attending? => true)
有关完整示例,请参见本要点     

要回复问题请先登录注册