猫鼬:查询日期范围

时间:2016-03-05 22:56:32

标签: mongodb date mongoose momentjs

我试图获取特定日期范围内的所有文件。我在我的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,但没有运气......

我做错了什么?

0 个答案:

没有答案