Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mongoose removing properties from object

Looking for a way to remove object properties before sending them to the front-end.
Is there any reason why this is working:

var obj = {
    name: 'cris',
    age: 22,
}
console.log(obj) //output name, age
delete obj.name
console.log(obj) //output age

and this isn't:

User.findOne({ username: req.query.username }, function (err, user) {
    if (user != null) {
        console.log(user) //output all props
        delete user.salt || delete user['salt']
        console.log(user) //output all props
    } 
});
like image 608
Cristian Muscalu Avatar asked Sep 15 '25 00:09

Cristian Muscalu


1 Answers

user is a Mongoose document and not a regular object.

You can convert it to one using toObject():

user = user.toObject();
like image 72
robertklep Avatar answered Sep 17 '25 13:09

robertklep