【发布时间】:2014-03-21 06:07:04
【问题描述】:
我有一个收集报告嵌入提交
class Report
embeds_many :submissions
class Submission
embedded_in :report
field :date_submitted, type: TimeWithZone
field :mistakes, type: Integer
我正在尝试在报告上创建范围
我想添加一个包含两部分的范围查询 获取同样零错误的最新提交(由 max date_submitted 给出)
我可以为错误部分创建一个范围,但不知道如何获得最新的提交
scope :my_scope, where("submissions.mistakes" => 0)
所以这个报告将被返回,因为它最后一次输入提交的错误为零
Report
"submissions" : [
{
"date_submitted" : ISODate("2014-01-28T13:00:00Z"),
"mistakes" : 11
},
{
"date_submitted" : ISODate("2014-03-08T13:00:00Z"),
"mistakes" : 0
}
]
这个不会被退回的地方
Report
"submissions" : [
{
"date_submitted" : ISODate("2014-01-28T13:00:00Z"),
"mistakes" : 0
},
{
"date_submitted" : ISODate("2014-03-08T13:00:00Z"),
"mistakes" : 11
}
]
【问题讨论】:
标签: ruby-on-rails mongodb mongoid aggregation-framework