【发布时间】:2013-09-24 11:52:09
【问题描述】:
我有两个具有 1-n 关系的类。像这样:
class Band
include Mongoid::Document
has_many :members
end
class Member
include Mongoid::Document
field :name, type: String
field :joined, type: Date
belongs_to :band
end
现在当我调用band.members 时,我得到了成员对象。我想要的是,如果我打电话给band.members.last 来获取最后加入的成员。我通过为Member 定义<=> 方法并基于joined 进行排序来实现这一点:
band.members.sort.last
我怎样才能使这种行为默认?我不想避免额外的排序调用。这可能吗?如果可以,怎么做?
【问题讨论】:
-
“我不想避免额外的排序调用”?我不跟。为什么不使用清晰的方法名称添加一个您想要的方法?
-
@WiredPrairie 这是我目前的解决方案。我有一个方法
latest_band_member执行band.members.sort.last。我想知道这是否可以通过 Mongoid DSL 实现自动化。
标签: ruby mongodb mongoid dsl queryinterface