需要帮助编写一个mongoid查询

时间:2015-04-24 02:23:22

标签: ruby-on-rails mongoid

这是我的两个模特

class Customer
  field: name, type: String
  has_many :calls
end

class Call
  field: number, type: String
  field: call_time, type: DateTime
  belongs_to :customer
end

我的要求:对于上述安排,即A Customer has_many Calls&一个Call belongs_to一个Customer。我想得到 通过最新电话呼叫订购的客户列表。

让我解释一下。比如说,数据库有以下数据

Customer
John
     Calls
     987     /  10AM
     987     /   9AM
Jack
     Calls
     878     /  11AM
     878    /    6AM
Rohan
     Calls
     990     /  9AM
     990    /   8AM

我的预期输出是

Jack
John
Rohan

由于最新的电话是来自Jack(@ 11AM),然后是John(@ 10AM),然后是Rohan(@ 9AM)。现在我该如何编写这样的查询?

1 个答案:

答案 0 :(得分:0)

据我了解,如果Call文档中未嵌入Customer,则唯一的解决方案是加载所有客户,然后通过{{手动“对其进行排序1}},类似

Enumerable#sort

您可能需要查看此内容:Mongoid, how to order_by through a references_one association (and subsequent associations)?