我有像波紋管一樣的模型。我想通過賓客列表查詢具有不同類型狀態的用戶的事件。如果我沒有錯的客人名單應該嵌入事件?如果我的模型設計是錯誤的,我會爲不同的解決方案打開。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