我的控制器中有一个更改用户数据的功能:
async editUser(req, res) {
try {
const { username, password, name, surname, patronymic, userRole } =
req.body;
var hashPassword = bcrypt.hashSync(password, 5);
User.findByIdAndUpdate(mongoose.Types.ObjectId(req.params.id), {
username,
password: hashPassword,
name,
surname,
patronymic,
roles: [userRole],
});
req.session.message = {
iconStyle: "check",
type: "check-Success",
intro: "Успешно",
message: "Информация обновлена.",
};
res.status(400).redirect("/users");
} catch (e) {
console.log(e);
res.status(400).json({ message: "nt" });
}
}
还有路线:
router.post("/editUser/(:id)", controller.editUser);
当通过邮递员发送一个帖子请求时,数据更改功能起作用,它读取我,但用户数据没有改变。req.body 当然是完整的并且 req.params.id 属于现有用户。我只是在学习,告诉我 - 可能是什么问题?