我有一个简单的文档,其中包含名称(必需)和描述(可选)。在我的模型中,我使用有效 ID 更新文档,并传递值为未定义的描述,因为我想从文档中删除此属性。但是,我收到以下错误:消息=转换为字符串失败,路径“描述”处的值“未定义”,名称= CastError,类型=字符串,值=未定义,路径=描述。当用户不提供描述时,如何在更新时删除描述属性?是否可以?
Thanks
/*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);
// 角色.js
var update = function (model, callback) {
var test = { name: 'Users', description: undefined };
RoleSchema.findByIdAndUpdate(model.id, test, function (error, role) {
callback(error, role);
});
};