Estoy tratando de consultar mongodb en la ruta de inicio de sesión para que los usuarios inicien sesión en mi aplicación.
En la lógica de la función, necesito consultar al usuario enviado a través del parámetro de correo electrónico de la solicitud del cuerpo. Sin embargo, recibo el error al realizar dicha tarea.
const login = async(req, res) => { const user = await User.findOne({ email: req.body.email }) const secret = process.env.secret; if (!user) { return res.status(400).send('the User not found!') } if (user && bcrypt.compareSync(req.body.password, user.passwordHash)) { const token = jwt.sign({ userId: user.id, isAdmin: user.isAdmin }, secret , { expiresIn: '1d' } ) res.status(200).send({ user: user.email, token: token }) } else { res.status(404).send('password Wrong'); } }
La salida de error:
TypeError: Cannot read properties of undefined (reading 'email')