Mongo DB;邮递员给出错误,即使用户对象成功更新

时间:2018-07-25 21:47:32

标签: javascript mongodb mongoose postman

使用Postman更新我在Mlab上的Mongo数据库中的用户对象。用户对象具有电子邮件,用户名和密码。

以下是处理PUT请求的方法:

server.put('/edit/:id', (req, res) => {
    const { id } = req.params;
    const changes = req.body;

    const options = {
        new: true,
    };

    User.findByIdAndUpdate(id, changes, options)
        .then(user => {
            if (note) {
                return res.status(200).json(user);
            } else {
                res.status(404).json({ message: 'User not found' });
            }
        })
        .catch(err => {
            res
                .status(500)
                .json({ message: 'There was a problem finding that user', error: err });
        });
});

当我向邮递员发出请求时,请输入以下JSON对象以更新用户密码:

{
  "password": "skittles"
}

Mlab上的数据库成功更新,显示新密码。

但是,Postman在其控制台中给我以下错误:

{
    "message": "There was a problem finding that user",
    "error": {}
} 

我认为这可能是由于更新对象后其余代码继续执行所致,所以我在return res.status(200).json(user);中添加了一个返回值,认为这样做会有所帮助,但Postman仍然给我错误消息。

当用户对象在Mongo DB上成功更新时,为什么会出现此错误?

1 个答案:

答案 0 :(得分:1)

这是因为America/Los_Angeles的{​​{1}}变量。

ReferenceError

将来,如果note块出现问题,请使用User.findByIdAndUpdate(id, changes, options) .then(user => { if (user) { return res.status(200).json(user); } else { res.status(404).json({ message: 'User not found' }); } }) .catch(err => { res .status(500) .json({ message: 'There was a problem finding that user', error: err }); }); 打印。因为,您不能使用catch发送它。

如果您想知道响应中的错误,请尝试此操作

console.log