Delete a key from a MongoDB document using Mongoose

前端 未结 11 1288
我寻月下人不归
我寻月下人不归 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:04

    Mongoose document is NOT a plain javascript object and that's why you can't use delete operator.(Or unset from 'lodash' library).

    Your options are to set doc.path = null || undefined or to use Document.toObject() method to turn mongoose doc to plain object and from there use it as usual. Read more in mongoose api-ref: http://mongoosejs.com/docs/api.html#document_Document-toObject

    Example would look something like this:

    User.findById(id, function(err, user) {
        if (err) return next(err);
        let userObject = user.toObject();
        // userObject is plain object
    });
    

提交回复
热议问题