简单模型:
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 ]])
如果可能的话,知道如何在不重写所有内容的情况下实现这一目标:)
Thanks
ALex
点符号仅适用于嵌入文档,但您有 2 个集合 - 房屋和所有者。
在 MongoDB 的所有者记录之一中,您只有字段 house_id,在房屋记录之一中,您与所有者模型没有任何连接。
因此,唯一的方法是获取所有房屋,然后使用 Enumerable#sort 对获得的集合进行排序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)