findByIdAndUpdate未更新MongoDB上的文档
我正在尝试创建一个Api,在使用NodeEmailer向用户发送密码重置电子邮件之前更新我的MongoDB。除了出于某种原因进行的数据库更新之外,一切正常。我正在使用findByIdAndUpdate进行更新。 我的api以findByIdAndUpdate未更新MongoDB上的文档,mongodb,express,Mongodb,Express,我正在尝试创建一个Api,在使用NodeEmailer向用户发送密码重置电子邮件之前更新我的MongoDB。除了出于某种原因进行的数据库更新之外,一切正常。我正在使用findByIdAndUpdate进行更新。 我的api以 router.put('/forgot',[auth, [check('email', 'Please include a valid email').isEmail()]],async (req, res) => { const errors = valid
router.put('/forgot',[auth, [check('email', 'Please include a valid email').isEmail()]],async (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({ errors: errors.array() });
}
const { email } = req.body;
try {
let user = await User.findOne({ email });
if (!user) {
return res.status(400).json({
errors: [
{
msg:
'That email addrss is not recognized. Please try again or register for a new account ',
},
],
});
}
var email_token = crypto.randomBytes(64).toString('hex');
const payload = {
id: user.id,
resetPasswordToken: email_token,
resetPasswordExpires: Date.now() + 3600000,
};
user = await User.findByIdAndUpdate(
user.id,
{ $set: payload },
{ new: true }
);
console.log(user);
res.json(user);
谢谢Joe和Mohammed,从Mohammed的问题中,我意识到我没有在用户模型中定义resetPasswordToken和resetPasswordExpires。我一做到这一点,每件事都像魔术一样奏效。非常感谢你 谢谢Joe和Mohammed,从Mohammed的问题中,我意识到我没有在用户模型中定义resetPasswordToken和resetPasswordExpires。我一做到这一点,每件事都像魔术一样奏效。非常感谢你 在最终输出中,
console.log(user)
是什么?我们需要查看用户模型,而不是Joe和Mohammed,从Mohammed的问题中,我意识到我没有在用户模型中定义resetPasswordToken和resetPasswordExpires。我一做到这一点,每件事都像魔术一样奏效。非常感谢你!在最终输出中,console.log(user)
是什么?我们需要查看用户模型,而不是Joe和Mohammed,从Mohammed的问题中,我意识到我没有在用户模型中定义resetPasswordToken和resetPasswordExpires。我一做到这一点,每件事都像魔术一样奏效。非常感谢你!