2 回答
TA贡献1845条经验 获得超8个赞
您发送响应 2 次。试试这个代码
if (result) {
bcrypt.hash(newPassword, 10, (err, hash) => {
console.log(hash)
if (err) {
return res.status(500).json({
error: err
})
} else {
user[0].password = hash
user[0]
.updateOne(user[0])
.then(result => {
return res.status(200).json({
message: 'Password changed!',
result: result,
})
})
.catch(err => {
res.status(500).json({ message: err.message })
})
}
})
} else {
return res.status(401).json({
message: 'Auth failed'
})
}
TA贡献1810条经验 获得超4个赞
我假设您使用的是猫鼬(因为User.find(...)
)。
如果是这样的话,你不能这样做user[0].updateOne(...)
,因为user[0]
已经是一个类型的对象User
。
您要么执行User.findOneAndUpdate(...)
,要么user[0].save(...)
在设置新密码后执行(这对我来说似乎更直接)。
添加回答
举报