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(...)
在設置新密碼后執行(這對我來說似乎更直接)。
添加回答
舉報