作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Postman 更新 Mlab 上的 Mongo DB 中的用户对象。用户对象具有电子邮件、用户名和密码。
以下是处理 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 });
});
});
当我向 Postman 发出请求时,输入以下 JSON 对象来更新我的用户密码:
{
"password": "skittles"
}
Mlab 上的数据库更新成功,显示新密码。
但是,Postman 在其控制台中给出以下错误:
{
"message": "There was a problem finding that user",
"error": {}
}
我想这可能是因为更新对象后其余代码继续执行,所以我在return res.status(200).json(user);中添加了一个返回
,认为这会有所帮助,但 postman 仍然给我错误消息。
当用户对象在 Mongo DB 上成功更新时,为什么我会收到此错误?
最佳答案
这是因为note
变量的ReferenceError
。
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
block ,请使用 console.log
打印它。因为,您无法使用 .json()
发送它。
如果您想知道响应中的错误,请尝试此操作,
res.json({
message: 'something',
error: (err && err.message) || 'Not available',
})
关于javascript - 蒙戈数据库;即使用户对象成功更新, postman 也会给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51528151/
我是一名优秀的程序员,十分优秀!