MongoDB lte不起作用

时间:2015-02-23 13:48:21

标签: javascript mongodb rest express mongoose

您好我试图植入mongodb lte功能 http://docs.mongodb.org/manual/reference/operator/query/lte/

但它似乎不起作用:s 我的路线:

app.route('/sign/:projectId/:startWeek/:endWeek')
    .post(sign.readExport);

控制器:

exports.readExport = function(req, res) {
    Sign.find()
        .where('projectId').equals(req.params.projectId)
        .where('startWeek').gte(req.params.startWeek).lte(req.params.endWeek)
        .sort('-created')
        .exec(function(err, sign) {
            if (err) {
                return res.status(400).send({
                    message: errorHandler.getErrorMessage(err)
                });
            } else {
                res.jsonp(sign);
            }
        });
};

使用startWeek":" 9"

获得了一个db对象

使用邮递员我得到了这些结果

http://localhost:3000/sign/658/8/8
//respons null as it should

http://localhost:3000/sign/658/8/9
//respons my object as it should

http://localhost:3000/sign/658/8/10
http://localhost:3000/sign/658/8/11
http://localhost:3000/sign/658/8/12...
//respons null should respons my object ??

我做错了什么? :)

1 个答案:

答案 0 :(得分:1)

数字字符串的排序让你沮丧。您需要将文档中的startWeek值更改为数字而不是字符串。

'10' < '9',但10 > 9