你可能想檢查貓鼬驗證器,這似乎是一個更好的方法來處理控制是否創建一個對象。
您可以創建一個自定義的驗證函數,該函數將在Model.save函數中引發錯誤,導致它失敗。這裏是來自文檔的代碼片段:
// make sure every value is equal to "something"
function validator (val) {
return val == 'something';
}
new Schema({ name: { type: String, validate: validator }});
// with a custom error message
var custom = [validator, 'Uh oh, {PATH} does not equal "something".']
new Schema({ name: { type: String, validate: custom }});
// adding many validators at a time
var many = [
{ validator: validator, msg: 'uh oh' }
, { validator: anotherValidator, msg: 'failed' }
]
new Schema({ name: { type: String, validate: many }});
// or utilizing SchemaType methods directly:
var schema = new Schema({ name: 'string' });
schema.path('name').validate(validator, 'validation of {PATH} failed with value {VALUE}');
發現這裏,如果你想更多地瞭解它。希望能幫助別人!
http://mongoosejs.com/docs/api.html#schematype_SchemaType-validate