const User = mongoose.model('User', {
name : {
type: String,
required: true//optional
},
email: {
type: String,
required: true,
validate (value){
if(!validator.isEmail(value)){
throw new Error('Age must be positve number')
}
}
},
age: {
type: Number,
//custom validator
validate(value) {
if (value < 0) {
throw new Error('Age must be positve number')
}
}
}
})
const me = new User({
name: 'Killua',
email: 'mike@'
})
me.save().then(() => {
console.log(me)
}).catch(() => {
console.log('Error', error)
})
显示错误-> 使用验证时显示此错误
UnhandledPromiseRejectionWarning: ReferenceError: 错误未定义
在 C:\Users\kbd\Desktop\node\task-manager\src\db\mongoose.js:71:26
在 processTicksAndRejections (internal/process/task_queues.js:93:5)
(节点:14088) UnhandledPromiseRejectionWarning:未处理的承诺拒绝。这个错误要么是因为在没有 catch 块的情况下抛出了异步函数,要么是因为拒绝了一个没有用 .catch() 处理过的承诺。要在未处理的承诺拒绝时终止节点进程,请使用 CLI 标志 --unhandled-rejections=strict
(请参阅 https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode)。
答案 0 :(得分:0)
您是否考虑过使用 create() 函数。
User.create(
{
name: 'Killua',
email: 'mike@'
},
function (err, newuser) {
if (err) {
console.log(err);
} else {
console.log(newuser);
//do somethinng
}
}
);
这就是我通常在猫鼬中添加项目的方式。如果此方法有任何问题,请告诉我。