MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Documento incorporato con associazione appartene_a in Mongoid

La struttura del modello è sbagliata come in Mongo mantieni solo le informazioni nei documenti incorporati che sono richiesti solo nel documento principale.

Se negli ospiti hai solo il campo di stato, puoi provare questo, ad esempio, due tipi di stato presenti o non presenti

class User
  include Mongoid::Document
  has_and_belongs_to_belongs_to :event, :inverse_of => "present_guests"
  has_and_belongs_to_belongs_to :event, :inverse_of => "not_present_guests"
end

class Event
  include Mongoid::Document
  has_and_belongs_to_many :present_guests, :class_name => "User", :inverse_of => "present_guests"
  has_and_belongs_to_has_many :not_present_guests, :class_name => "User", :inverse_of => "not_present_guests"
end

quindi puoi interrogare con lo stato come

Event.first.present_guests