我有像波纹管一样的模型。我想通过宾客列表查询具有不同类型状态的用户的事件。如果我没有错的客人名单应该嵌入事件?如果我的模型设计是错误的,我会为不同的解决方案打开。Mongoid的带有belongs_to关联的嵌入式文档
class User
include Mongoid::Document
end
class Events
include Mongoid::Document
embeds_many :guests
end
Class Guests
include Mongoid::Document
embed_in :event
belongs_to :user
field :status
end
状态查询我的问题是如何为用户显示事件 – Georgi
然后你应该遵循@abhas的建议。用上面的模型结构得到的最接近的是my_events = Event.where('guests.user_id'=> my_user_id)',这将为您提供用户作为访客的每个事件。然后,您必须迭代结果列表并找到你想要的状态:'my_events.select {| e | eguests.where(:user_id => my_user_id,:status =>'waiting')。first}'。这远不是最优的,所以你应该使用不同的模型方案。 – pgaspar
感谢您的帮助和解释。最好的祝福。 – Georgi