[英]I am trying to create a login page for node.js, but I am encountering issues accessing the saved data from the database
这是创建用户到数据库的代码
const User = require('../database/models/User')
module.exports = (req, res) => {
User.create(req.body, (error, user) => {
if (error) {
return res.redirect('/auth/register')
}
res.redirect('/');
})
}
这是访问保存的用户以启用登录的代码
const User = require('../database/models/User');
const bcrypt = require('bcrypt');
module.exports = (req, res) => {
const { email, password } = req.body;
User.findOne({ email }, (error, user) => {
if(user) {
bcrypt.compare(password, user.password, (error, same) => {
if(same) {
req.session.userId = user._id
return res.redirect('/')
} else {
console.log('user not found')
res.redirect('/auth/login')
}
})
} else {
return res.redirect('/auth/login')
}
});
}
当我运行应用程序并尝试登录时,即使我立即创建用户并尝试登录,我也总是在查找用户时出错
在这样的 Mongo 查询中
let findQuery ={
email : req.body.email
};
User.findOne(findQuery, (error, user) => {
像这样的改变你会得到一个解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.