シアトル旅団グループからこの回答を得ました-
===
コードでstart_dateがMongoMapperのキーとして定義されているのを見なかったので、Rubyを介して直接、またはRailsでラップして独自の日付オブジェクトを作成していると仮定します。私の知る限り、そして誰かが私を訂正してください、Mongostoresはエポックからのミリ秒単位のUTC時間として日付を記入します。したがって、MongoMapperで:dateマッピングを使用してキーを定義すると、TimeオブジェクトがRubyでラップされます。
したがって、Mongo内に日付を保存する必要があり、MongoMapperによって作成されていない場合は、UTCでTimeオブジェクトを作成してください。MongoMapperには、使用できる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)
それは私のために働きます。