I have a mongodb function call that return a user object
User.findOne(condition, function(err, user) {
console.log(user) // {username : 'blah', picture : 'blah', _id : 'blah'}
delete user.picture;
});
somehow user object cannot be modified, delete does nothing. If I deep copy a brand new user object
var new_user = {};
for (var key in user)
new_user[key] = user[key]
and do the deletion there, it works. Is there any situation where in Javascript when a object is not modifiable? Or did I miss something?
Indeed. Object properties can be made frozen, undeletable, unenumerable and not configurable. You can go check with
Object.getOwnPropertyDescriptor.For instance.
If configurable is set to
false, you can’t delete that property.