Я получил этот ответ от группы Сиэтлской бригады -
===
Я не видел start_date, определенную в вашем коде как ключ в MongoMapper, поэтому
Я предполагаю, что вы создаете свой собственный объект даты, либо напрямую через Ruby,
или завернутый Rails. Насколько я знаю, и кто-то, пожалуйста, поправьте меня, Монго
сохраняет даты как время UTC в миллисекундах с начала эпохи. Поэтому, когда вы определяете
ключ с: отображение даты в MongoMapper, вы оборачиваете объект Time в
Рубин.
Поэтому, если вы хотите сохранить дату внутри Монго, а это не было
созданный MongoMapper, убедитесь, что вы создали объект Time в UTC.
MongoMapper поставляется с методом Mixin Date, называемым to_mongo, который вы можете использовать.
>> Time.now.utc
=> Fri Jan 28 03:47:50 UTC 2011
>> require 'date'
=> true
>> date = Date.today
=> #<Date: 4911179/2,0,2299161>
>> Time.utc(date.year, date.month, date.day)
=> Thu Jan 27 00:00:00 UTC 2011
>> require 'rubygems'
=> true
>> require 'mongo_mapper'
=> true
>> Date.to_mongo(date)
=> Thu Jan 27 00:00:00 UTC 2011
Но следите за изменением времени.
>> Date.to_mongo(Time.now)
=> Thu Jan 27 00:00:00 UTC 2011
>> Date.to_mongo(Time.now.utc)
=> Fri Jan 28 00:00:00 UTC 2011
Удачи.
===
А с помощью
Date.to_mongo(start_date)
у меня это работает.