sql >> データベース >  >> NoSQL >> MongoDB

Mongoidにbelong_toアソシエーションを持つ埋め込みドキュメント

    Mongoのようにモデル構造が間違っています 親ドキュメントでのみ必要な埋め込みドキュメントにのみ情報を保持します。

    ゲストにステータスフィールドしかない場合は、これを試すことができます。たとえば、2つのステータスタイプが存在するか存在しないか

    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
    

    次に、

    のようなステータスでクエリを実行できます
    Event.first.present_guests
    


    1. マングースとユニークなフィールド

    2. Luaで文字列を文字で分割する

    3. マングースが実際の埋め込みドキュメントの代わりに[オブジェクト]を返す

    4. マングースのアップサートはデフォルトのスキーマプロパティを作成しません