Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

267
Visualizações
delete operator not functioning as expected in node.js

In my node.js express application I am retrieving a user from my database

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

but before sending the response with the user object I want to remove the password.

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

but in my response the password is returned.

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

{"_id":"11111111","username":"dylan","email":"dylan@email.com","admin":true,"password":"******"}
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

query return value is document not javascript object

  • Documents have a toObject method which converts the mongoose document into a plain JavaScript object.
  • first convert it to object and then use delete on each property you want

also with mongoose it can done more properly and automatically

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

every time you send this document as response it convert to JSON and every time that JSON.strigify() is call on a document it call this toJSON() method

over 4 years ago · Santiago Trujillo Relatório

0

Maybe you can also do

delete newUser._doc.password 
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda