rails mongo查询获取前一天的结果

时间:2016-03-31 18:57:54

标签: ruby-on-rails ruby mongodb mongoid

我正在我的ruby on rails应用程序生成一个报告,该报告每天早上7点运行。 该报告将收集前一天的结果。

所以基本上我想查询前一天的结果给我的Mongo系列。这就是我的尝试:

logs = Log.where(:comp => comp, :created_at => (Date.today -1)) 

我收到以下错误:

BSON::InvalidDocument: Date is not currently supported; use a UTC Time instance instead.

获得最终结果的最佳方法是什么:

这是我在db中的日期格式:

 "created_at" : ISODate("2015-12-02T23:12:38.076Z")

1 个答案:

答案 0 :(得分:1)

你可以在mongoid中做这样的事情:

logs = Log.where(:comp => comp, :created_at.gte => (Date.today -1 ).to_datetime) 

Date.to_datetime默认为午夜,如下所示:

(Date.today - 1).to_datetime
=> Wed, 30 Mar 2016 00:00:00 +0000