Ваш :created_at
является датой (как в «дате в стиле JavaScript с компонентами даты и времени дня»), верно? Вам нужно будет определить границы указанной даты в UTC, построить Time
экземпляров для этих границ, а затем искать все между этими временами.
Если предположить, что ваш местный часовой пояс правильно настроен и вы хотите все, что было создано 2011-11-21, то что-то вроде этого должно привести вас туда:
start_time = Time.new(2011,11,21, 0,0,0).utc
end_time = Time.new(2011,11,22, 0,0,0).utc
docs = Document.where(:created_at => { :$gte => start_time }).
where(:created_at => { :$lt => end_time })
Вы также можете использовать Time.new(2011, 11, 21).utc
и Time.new(2011, 11, 22).utc
, но мне нравятся дополнительные нули в качестве напоминания о том, что я на самом деле не работаю только с датой.