node.js - 日期字段未使用 .updateMany() 更新 - mongoose
问题描述
我正在更新我的应用程序的密码。密码散列和更新很好。我得到了 nModified: 1. 我注销并可以使用新密码登录,但日期字段永远不会更新?我怎样才能让该字段也更新?
router.put("/password/:id", (req, res) => {
let user = req.body;
let retrievedOldPassword = user.retrievedOldPassword.password;
let result;
let newPasswordHash;
bcrypt.compare(req.body.oldPassword, retrievedOldPassword, function(
err,
res
) {
if (err) {
return err;
}
result = res;
console.log(res);
});
if (result) {
} else {
bcrypt.hash(req.body.newPassword, 10, function(err, hash) {
newPasswordHash = hash;
// res.sendStatus(401);
User.updateMany(
{ password: retrievedOldPassword },
{ password: newPasswordHash },
{ passwordCreated: Date.now() }
)
.then(user => {
console.log(user);
res.json(user);
})
.catch(err => console.log(err));
});
}
});
解决方案
的第三个参数updateMany()
是选项。您需要passwordCreated: Date.now()
输入第二个参数,然后它将被更新:
User.updateMany(
{ password: retrievedOldPassword },
{ password: newPasswordHash, passwordCreated: Date.now() },
)
更多信息:这里
推荐阅读
- python - 仅在安装了 matplotlib 的情况下如何为 python 类提供绘图方法?
- jquery - 需要帮助编写显示日期的代码
- java - 通过 String.split() 方法删除德语变音符号
- javascript - Express 不会在使用正文解析器和 multer 的表单数据上显示请求正文
- python - 使用新的存在/不存在列堆叠 pandas 数字列
- java - 如何区分字符串中的“0”和“00”并替换子字符串
- java - 模拟一个静态初始化程序抛出 ExceptionInInitializerError 的类
- javascript - React-Apexcharts如何在一个范围内通过x轴
- firebase - 提供者不显示新页面 Flutter
- pandas - 箱线图时间序列每月和每周