首先,请原谅我的英语。
现在,我面临的问题是,现有数据库在“startOn”对象中有一个名为“Date”的列。这意味着,它类似于“startOn.Date”,并且具有类似yyyy/dd/mm
. 假设,我有这样的记录:2013/06/05
. 问题是,我需要从 after 2 days
to获取数据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,
});
谁能帮我摆脱困境?