我想转换所有 mongoose架构错误。
让我们说我是UserSchema:
const UserSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
required: [true, 'E-Mail is required']
},
password: {
type: String,
required: [true, 'Password is required']
}
}
如果我尝试在没有电子邮件和密码的情况下保存用户,我会得到以下回复:
{
"errors": {
"password": {
"message": "Password is required",
"name": "ValidatorError",
"properties": {
"type": "required",
"message": "Password is required",
"path": "password"
},
"kind": "required",
"path": "password"
},
"email": {
// ...
}
},
"_message": "User validation failed",
"name": "ValidationError"
}
我想为我的所有架构转换此错误响应全局,例如转换为
{
errors: [
{ message: "Password is required", path: "password" }
// ...
]
}
有没有办法将转换方法全局应用于所有架构错误? (我想避免手动转换每个响应)
答案 0 :(得分:0)
var schema = new Schema({
name: {
type: String,
required: true
}
});
var Man= db.model('Man', schema);
// This man has no name :(
var man = new Man();
man.save(function(error) {
assert.equal(error.errors['name'].message,
'Path `name` is required.');
error = man.validateSync();
assert.equal(error.errors['name'].message,
'Path `name` is required.');
});