Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
eliminar operador no funciona como se esperaba en node.js

En mi aplicación express node.js estoy recuperando un usuario de mi base de datos

 const newUser = await User.create({ username, password, email, avatar, })

pero antes de enviar la respuesta con el objeto de usuario quiero eliminar la contraseña.

 delete newUser.password; return res.status(200).json({ token, user: newUser });

pero en mi respuesta se devuelve la contraseña.

console.log(JSON.stringify(newUser)) devuelve:

 {"_id":"11111111","username":"dylan","email":"dylan@email.com","admin":true,"password":"******"}
about 4 years ago · Santiago Gelvez
2 Respuestas
Responde la pregunta

0

el valor de retorno de la consulta es un documento, no un objeto javascript

  • Los documentos tienen un método toObject que convierte el documento mangosta en un objeto JavaScript simple.
  • primero conviértalo en objeto y luego use delete en cada propiedad que desee

también con mongoose se puede hacer de manera más adecuada y automática

 User.methods.toJSON = function () { const user = this; const userObj = user.toObject(); delete userObj.password; return userObj; };

cada vez que envía este documento como respuesta, se convierte a JSON y cada vez que JSON.strigify() llama a un documento, llama a este toJSON()

about 4 years ago · Santiago Gelvez Denunciar

0

Tal vez también puedas hacer

 delete newUser._doc.password
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda