Mongoose .lt不使用post值

时间:2015-02-18 17:44:38

标签: javascript node.js mongodb express

我有这个Mongoose功能

exports.readSign = function(req, res) {
    if (req.user.roles.indexOf('admin') === 1) {

        Timesheet.find()
            .where('projectId').equals(req.params.projectId)
            .where('week').gt(req.params.startWeek - 1).lt(req.params.endWeek + 1)

            .sort('-created').populate('user', 'displayName')
            .exec(function (err, timesheet) {
                if (err) {
                    return res.status(400).send({
                        message: errorHandler.getErrorMessage(err)
                    });
                } else {
                    res.jsonp(timesheet);
                }
            });
    }

和路线

app.route('/timesheets/sign/:projectId/:startWeek/:endWeek')
        .get(timesheets.readSign);

但我的.lt无法发布帖子:/ http://localhost:3000/timesheets/sign/658/3/3

它返回一个带有"周":8

的对象

如果我将.lt(req.params.endWeek + 1)更改为.lt(3 + 1),则它不会按原样返回我的对象​​,但它会与我的帖子一样,邮递员

console log .lt(req.params.endWeek + 1)返回3

为什么不使用我的帖子值? :)

1 个答案:

答案 0 :(得分:0)

您的路线设置为use.get(),而不是.post()

将其更改为:

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