Delete a key from a MongoDB document using Mongoose Delete a key from a MongoDB document using Mongoose mongodb mongodb

Delete a key from a MongoDB document using Mongoose


In early versions, you would have needed to drop down the node-mongodb-native driver. Each model has a collection object that contains all the methods that node-mongodb-native offers. So you can do the action in question by this:

User.collection.update({_id: user._id}, {$unset: {field: 1 }});

Since version 2.0 you can do:

User.update({_id: user._id}, {$unset: {field: 1 }}, callback);

And since version 2.4, if you have an instance of a model already you can do:

doc.field = undefined;doc.save(callback);


You'll want to do this:

User.findOne({}, function(err, user){  user.key_to_delete = undefined;  user.save();});


I use mongoose and using any of the above functions did me the requirement. The function compiles error free but the field would still remain.

user.set('key_to_delete', undefined, {strict: false} );

did the trick for me.