Delete a key from a MongoDB document using Mongoose

前端 未结 11 1252
我寻月下人不归
我寻月下人不归 2020-11-27 04:38

I\'m using the Mongoose Library for accessing MongoDB with node.js

Is there a way to remove a key from a document? i.e. not just set the value to n

11条回答
  •  孤城傲影
    2020-11-27 05:14

    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);
    

提交回复
热议问题