【问题标题】:Configure Mongoid relation to return objects sorted配置 Mongoid 关系以返回已排序的对象
【发布时间】: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


【解决方案1】:
class Band
  include Mongoid::Document
  has_many :members, :order => :joined.asc
end

【讨论】:

    猜你喜欢
    • 2011-11-06
    • 2010-10-01
    • 2017-01-29
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多