Mettre à jour le document avec une erreur: le cast to string a échoué pour la valeur indéfinie

J'ai un document simple avec le nom (obligatoire), la description (facultatif). Dans mon modèle, je met à jour un document avec un identifiant valide et je passe la description avec une valeur non définie car je souhaite supprimer cette propriété du document. Cependant, j'ai eu une erreur suivante: message = Le cast to string a échoué pour la valeur "undefined" au chemin "description", name = CastError, type = string, value = undefined, path = description . Comment puis-je supprimer la propriété de description lors de la mise à jour lorsque l'utilisateur ne fournit pas de description? C'est possible?

Merci

/*jslint indent: 2, node: true, nomen: true*/ 'use strict'; var Schema = require('mongoose').Schema; var mongoose = require('mongoose'); var mongooser = require('../../lib/mongooser'); // Schema var schema = new Schema({ name: { required: true, set: mongooser.trimSetter, trim: true, type: String, unique: true }, description: { set: mongooser.trimSetter, trim: true, type: String } }); // Export module.exports = mongoose.model('Role', schema); 

// Role.js

 var update = function (model, callback) { var test = { name: 'Users', description: undefined }; RoleSchema.findByIdAndUpdate(model.id, test, function (error, role) { callback(error, role); }); }; 

Essayez de descendre au conducteur natif de la manière suivante:

 var update = function (model, callback) { RoleSchema.update({_id: model.id}, {$unset: {description: 1 }}, callback); }); };