【发布时间】:2021-05-04 06:14:23
【问题描述】:
const {password, value} = body.password;
// compares the old and new password
const passwordMatch = await bcrypt.compare(password, student.password);
if(!passwordMatch) return res.status(400).json({message:"passwords do not match"})
//hashes the password
const salt = await bcrypt.genSalt();
const hashedPassword = await bcrypt.hash(value, salt);
student.password = hashedPassword;
我正在使用“save()”来保存文档
下面是我遇到的错误
"error": {
"errors": {
"password": {
"stringValue": "\"{ password: 'abcde', value: '123456' }\"",
"kind": "string",
"value": {
"password": "abcde",
"value": "123456"
},
"path": "password",
"reason": null
}
},
"_message": "Secondary validation failed",
"message": "Secondary validation failed: password: Cast to string failed for value \"{ password: 'abcde', value: '123456' }\" at path \"password\""
}
有什么帮助吗?我正在使用节点、快递和 mongodb。我也在使用邮递员进行测试。我无法弄清楚可能导致此问题的原因。
下面是输入的结构(即req.body)
{
"password": {
"password": "abcde",
"value": "123456"
}
}
在哪里
- password = 旧密码(即数据库中存在的密码)
- value = 要更改的新密码
【问题讨论】:
-
完全添加您的路线和架构,
标签: database mongodb express authentication passwords