MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Eingebettetes Dokument mit Zugehörigkeit zu Assoziation in Mongoid

Die Modellstruktur ist falsch wie in Mongo Sie behalten nur die Informationen in eingebetteten Dokumenten, die nur im übergeordneten Dokument benötigt werden.

Wenn Sie in den Gästen nur ein Statusfeld haben, können Sie dies versuchen, z. B. zwei Statustypen vorhanden oder nicht vorhanden

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

dann können Sie mit dem Status wie

abfragen
Event.first.present_guests