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

Indlejret dokument med tilhørende_to-forening i Mongoid

Modelstrukturen er forkert som i Mongo du opbevarer kun oplysningerne i indlejrede dokumenter, som kun kræves i overordnet dokument.

Hvis du i gæster kun har statusfelt, kan du prøve dette, f.eks. to statustyper til stede eller ikke til stede

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

så kan du forespørge med status som

Event.first.present_guests


  1. Angivelse af samlingsnavn med MongoEngine

  2. Er UNLINK-kommandoen altid bedre end DEL-kommandoen?

  3. Hvordan aggregeres efter dato, når et fuldt tidsstempel er givet i aggregeringsramme?

  4. MongoDB - Projektering af et felt, der ikke altid eksisterer