Jag fick det här svaret från Seattle Brigade-gruppen -
===
Jag såg inte start_date definierad i din kod som en nyckel i MongoMapper, så jag antar att du skapar ditt eget datumobjekt, antingen direkt via Ruby eller insvept av Rails. Så vitt jag vet, och någon vänligen rätta mig, datum Mongostores som UTC-tid i millisekunder sedan epok. Så när du definierar en nyckel med en :datemapping i MongoMapper, lindar du ett Time-objekt i Ruby.
Därför, om du vill lagra ett datum inuti Mongo, och det inte skapades av MongoMapper, se till att du skapar ett Time-objekt i UTC. MongoMapper kommer med en Date mixin-metod som heter to_mongo som du kan använda.
>> 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
Men se upp för tidsförändringen.
>> 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
Lycka till.
===
Och genom att använda
Date.to_mongo(start_date)
det fungerar för mig.