5 年分のレコード (1 日あたり 1 つのレコード) を持つモデル (イベント) があります。2011-12-25 00:00:00 などの日付オブジェクトを渡すと、年に関係なく、12/25 に発生したすべてのレコード (:created_at 列に対してクエリを実行) を表示するメソッドが必要です。または経過した時間。
次のクエリを実行して、指定された日付の間にあるデータを取得しようとしましたが、年が変わった後、クエリでレコードを取得できないという問題が発生しました。たとえば、record sdate="1-06-2013" および edate="2-2-2014" 1 月 1 日のレコードが必要な場合、どうすればこのデータを取得できますか。
db.events.find( "this.sdate.getMonth() > 6 && this.edate.getMonth() < 6" );
ActiveRecordではなくMongoidを使用して、正確な次のクエリが必要です
Model.where("MONTH(created_at) = ? and DAY(created_at) = ?", somedate.month, somedate.day)