まず第一に、私の英語を許してください。
今、私が直面している問題は、既存のデータベースの「startOn」オブジェクト内に「Date」という名前の列があることです。つまり、「startOn.Date」のようにして、 のようなデータを持っていますyyyy/dd/mm
。次のようなレコードがあるとします2013/06/05
。問題は、 after2 days
から までのデータを取得する必要があるということです7 days
。つまり$gte: +2 days
、 と$le: +7 days
.
私はいくつかの方法を試しました
$gte: use("RFCtoClean")(new Date(year, month - 1, day + 2)),
RFCtoClean は次のとおりです。
function RFCtoClean(d) {
d = new Date(d);
return d.getUTCFullYear() + "/" + pad(d.getUTCDate()) + "/" + pad(d.getUTCMonth() + 1);}
これは何も返しませんが、次のコードのコールバックでさえ を返しますundefined
。
var currentDate = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
var day = currentDate.getDate()
, month = currentDate.getMonth() + 1
, year = currentDate.getFullYear();
Event.find({
author: user_id,
"startOn.Date": {
$gte: use("RFCtoClean")(new Date(year, month - 1, day + 2)),
$le: use("RFCtoClean")(new Date(year, month - 1, day + 7))
}
}, '_id title location startOn attendees', {
limit: limit
})
.sort({_id: -1})
.execFind(function(err, events) {
// events variable is undefined here and empty err object,
});
誰かが私がそれから抜け出すのを助けることができますか?