简体   繁体   English

Mongoose .lt不使用post值

[英]Mongoose .lt dosen't work with post value

I have this Mongoose function 我有这个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);
                }
            });
    }

and route 和路线

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

but my .lt doesn't work on post :/ http://localhost:3000/timesheets/sign/658/3/3 但我的.lt不适用于帖子:/ http:// localhost:3000 / timesheets / sign / 658/3/3

It returns an object with "week": 8 它返回一个带有“week”的对象:8

If I change .lt(req.params.endWeek + 1) to .lt(3 + 1) it doesn't return my object as it should, but it does with my post, in postman 如果我将.lt(req.params.endWeek + 1)更改为.lt(3 + 1)它不会返回我应该的对象,但是它与我的帖子一样,在postman中

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

why won't this use my post value ?? 为什么这不会使用我的帖子值? :) :)

You route is set to use.get(), not .post() 您的路由设置为use.get(),而不是.post()

Change it to: 将其更改为:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM