Estoy tratando de obtener un usuario de mi colección con findOne usando su atributo de nombre pero devuelve indefinido mientras que mi usuario está en la base de datos.
Este es mi esquema:
var schema = new mongoose.Schema({ name: { type: String, required: [true, "Please enter a name"], maxlength: 32, }, password: { type: String, required: true, minlength: [6, "Password must be at least 6 characters"], }, email: { type: String, required: true, unique: true, }, isAdmin: { type: Boolean, default: false, }, }); const Userdb = mongoose.model("userdb", schema); module.exports = Userdb;Y aquí es donde trato de obtener mi usuario:
const name = req.body.name; const password = req.body.password; const user = Userdb.findOne({name: name}); // console.log(user.name, user.password); if (user.name === undefined) return res.status(400).send({ message: "User not found" }); const dbpassword = user.password;donde mi console.log devuelve indefinido
En la base de datos:
Mi solicitud de publicación de cartero:
Verifique su solicitud de cuerpo y asegúrese de tener datos en la colección db con esta condición. Si los datos de la colección no coinciden, la consulta mangosta le devuelve sin definir.
Y debe crear una función asíncrona y usar esperar para obtener datos y luego registrar eso
const user = await Userdb.findOne({name: name});