Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

225
Views
¿Por qué no hay ningún mensaje en el objeto de error de mongoose?

Estoy creando una API de registro de usuario, donde el nombre y el correo electrónico están configurados para ser únicos. Cuando envío un objeto JSON que tiene la misma dirección de correo electrónico que un usuario existente, da un error como se esperaba. Pero no hay ningún mensaje en ese error , que luego puedo usar para dar un mensaje más útil.

A continuación se muestra el objeto de error que estoy recibiendo.

 { "index": 0, "code": 11000, "keyPattern": { "email": 1 }, "keyValue": { "email": "pranatkarode@rocketmail.com" } }

Y este es mi módulo controlador,

 const User=require("../models/userModels.js"); exports.signUp=(req,res)=>{ const user=new User(req.body); user.save((err,user)=>{ if(err){ res.send(err) } else{ res.json({ user }) } }) }
about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El objeto de error predeterminado de Mongoose está diseñado para casos de uso no limitados. Por lo tanto, debe mirarlo y, según lo que contenga, agregar mensajes personalizados. Para este caso de uso específico suyo, puede, por ejemplo, hacerlo así:

 const User = require("../models/userModels.js"); exports.signUp = async (req, res) => { try { const user = new User(req.body); await user.save(); res.json({ user, }); } catch (err) { if (err.code === 11000 && err?.keyPattern.hasOwnProperty("email")) { err.message = "This email is alrady used."; } else if (err.code === 11000 && err?.keyPattern.hasOwnProperty("name")) { err.message = "This name is alrady taken."; } res.send(err); } };

Estoy usando la sintaxis async / await aquí para tener un código más atractivo, el tuyo también funcionaría.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!