如何查询特定日期范围内的文档?

时间:2011-04-23 10:19:53

标签: ruby-on-rails mongoid

我希望获得指定日期范围内的所有记录,如下所示:

@docs = Document.where(:created_at => {'$gte' => Time.now.midnight, '$lt' => Time.now.midnight + 24.hours})

但是thiq查询的结果是具有created_at> = Time.now.midnight的文档数组,未应用created_at字段的条件的第二部分。 即使使用像Time.now.midnight.utc这样的UTC格式,我也会得到相同的结果。 如果我改变

的条件
:created_at like {'$lt' => Time.now.midnight + 24.hours, '$gte' => Time.now.midnight}

然后我将获得所有带有created_at<的文档。 Time.now.midnight + 24.hours,第二个条件也不适用于此处查询。

1 个答案:

答案 0 :(得分:0)

这是mongoid中的问题,现在已在master上修复(https://github.com/mongoid/mongoid/commit/f326de5acc969e1342e640dc026de7e94bf4cf49#lib/mongoid/matchers.rb)。测试此问题的最新版本 - 2.0.1