Embeded document with belong_to association in Mongoid

前端 未结 2 1597
谎友^
谎友^ 2021-01-21 21:31

I have models like bellow. i want to query events for user with different kind of statuses by guests \'list\'. If am not wrong guests list should be embeded in events? If my mo

2条回答
  •  自闭症患者
    2021-01-21 22:28

    I believe that model structure would work.

    Here's an example query to get all events with guests with the 'waiting' status:

    Events.where('guests.status' => 'waiting')
    

    Here's another example to, given an event, get all that event's guests with 'waiting' status:

    event = Events.first # get the desired event
    event.guests.where(:status => 'waiting')
    

    Finally, you should name your models singular names (User, Event, Guest). Also, your Guest model has some typos I fixed below:

    class User
      include Mongoid::Document
    
    end
    
    class Event
      include Mongoid::Document
    
      embeds_many :guests
    end
    
    class Guest
      include Mongoid::Document
    
      embedded_in :event
      belongs_to :user
    
      field :status
    end
    

提交回复
热议问题