簡單的模型:Mongoid,如何通過reference_one關聯(以及後續的關聯)order_by?
class hat
embedded_in :owner
field :color
end
class owner
embedds_one :hat
referenced_in :house
field :name
end
class house
references_one :owner
field :number
end
所以,簡單地提出,我們有關聯到業主房屋的集合,車主可以有顏色的帽子。
我可以簡單地通過它們的數量排序的房子:
House.all.order_by([[ :number, :asc ]])
但我要的是訂購房子,他們的主人的名字是什麼,我非常希望這樣寫:
House.all.order_by([[ :'owner.name', :asc ]])
但它不起作用...
甚至進一步我想能夠按主人的帽子的顏色排序房屋
House.all.order_by([[ :'owner.hat.color', :asc ]])
任何想法,我怎麼能做到這一點無需重寫一切可能的話:)
感謝
亞歷
我明白了,那麼這不會對我來說是不可能的,太多的房子在我的系統:)我將不得不去標準化數據和複製的帽子顏色我的房子......我將不得不離開,結果是我的帽子顏色可能不是最新的...... – Alex
您是否需要將房屋所有者存儲在另一個集合中?您可以將店主嵌入店內,並將帽子嵌入店主。 – Hck