使用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上成功更新时,为什么会出现此错误?
答案 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