0

まず第一に、私の英語を許してください。

今、私が直面している問題は、既存のデータベースの「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,
    });

誰かが私がそれから抜け出すのを助けることができますか?

4

1 に答える 1