gpt4 book ai didi

javascript - 蒙戈数据库;即使用户对象成功更新, postman 也会给出错误

转载 作者:行者123 更新时间:2023-12-03 01:26:19 24 4
gpt4 key购买 nike

使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com