繁体   English   中英

我正在尝试为 node.js 创建登录页面,但在访问数据库中保存的数据时遇到问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM