【发布时间】:2017-05-16 02:38:53
【问题描述】:
我试图到处寻找这个问题的答案,但似乎我不走运。
我有一个非常简单的猫鼬模型
var userObject = {
profile: {
username: {
type: String,
required: true,
lowercase: true
},
firstname: {
type: String,
required: true
},
lastname: {
type: String,
required: true
},
img: {
type: String,
required: true,
match: /^(https?:\/\/)/i
},
email: {
type: String,
match: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
required: true
},
singupdate: {
type: Date,
default: Date.now
}
}
};
而且,当我创建架构时,我选择了在添加不在模型中的属性时引发错误的选项。
new mongoose.Schema(userObject, { strict: "throw" });
这就是我试图捕捉错误的方式。当我添加有效属性时,进程会运行并重新创建创建的文档,但是当我添加无效属性时,进程永远不会退出,并且日志永远不会出现在控制台上。
try {
User.create(users, function(err, docs) {
console.log("err: " + err);
console.log("docs: " + docs);
});
} catch (e) {
console.log(e.message);
}
我做错了什么?
【问题讨论】: