我试图获取特定日期范围内的所有文件。我在我的Express路由器中使用MomentJS和Mongoose。但结果集是空的:
router.route("/bookings")
// GET
.get(function(req, res) {
var start,
end;
// set time zone
moment().tz("Europe/Copenhagen").format();
start = moment(req.query.start * 1000).toDate();
end = moment(req.query.end * 1000).toDate();
Booking.
find({
startDate: {
$gte: start,
$lte: end
}
}).
exec(function(err, bookings) {
if (err) handleErr(res, err);
console.log(err);
console.log(bookings);
res.json(bookings);
});
})
路由接收开始日期和结束日期为UNIX TIMESTAMPS(也来自客户端的MomentJS)。
如果我从mongo shell查询,我会得到正确的文件:
db.bookings.find({startDate: { $gte: "2016-02-29T00:00:00+01:00", $lte: "2016-03-06T23:59:59+01:00" } }, {startDate: 1})
如果我在console.log中记录日期,我会得到与查询数据库时相同的格式。
我尝试使用/不使用UNIX * 1000,但没有运气......
我做错了什么?