I am relatively new to the world of JavaScript and MERN stack development. Currently, I am working on building a small-scale social media application. However, while coding the sign-up API, I encountered an issue where I could not properly segregate and hide the password from the user's information.
Below is the snippet of code in question:
userRouter.post("/signUp", async (req, res) => {
const {name, userName, email, password} = req.body
const existingUser = await userSchema.findOne({email: email})
const SameUserName = await userSchema.findOne({userName: userName})
if (existingUser) {
return res.status(406).send({
message: `Apologies, but an account with the email: ${email} already exists.`
})
} else if (SameUserName) {
return res.status(406).send({
message: `Sorry, that username is already taken. Please choose another one.`
})
}
const newUser = new userSchema({
name,
userName,
email,
password
})
console.log(newUser)
try {
await newUser.save()
res.status(201).send({
message: `Account successfully created!`,
user: newUser
})
} catch (err) {
res.send({
message:`Something went wrong`,
})
}
})
Now, I'm seeking guidance on how to exclude the password when sending the user information. Any suggestions?