nodejs中mongoose库的使用

mongoose库

Schema

Schema定义了一种聚合的规则

var userSchema = new Schema({
    name:{
        type:String,
        unique:true,
        required:true
    },
    age:{
        type:Number,
        min:1,
        max:100
    },
    brothDay:{
        type:String,
        match:/[1-31]day$/i
    },
    brothMonth:{
        type:String.
        enum:['1月','2月','...','11月','12月']
    }
})

通过schema可以初步的校验数据规则,当校验规则不正确的时候,会返回一个错误对象,格式如下:

{ 
    message: 'Validation failed',
    name: 'ValidationError',
    errors:{ 
        email:{
            message: 'Validator "required" failed for path email',
            name: 'ValidatorError',
            path: 'email',
            type: 'required' 
        },
        name:{ 
            message: 'Validator "required" failed for path name',
            name: 'ValidatorError',
            path: 'name',
            type: 'required' 
        } 
    } 
}

自定义schema验证规则

var lengthVal = function(val) {
    if (val && val.length >= 5){
        return true;
    }
    return false;
};
//usage: 当不满足验证规则时返回的msg为错误描述
name: {type: String, required: true, validate: {validator:lengthVal,msg:'error desc'}}

//添加多个验证规则
var validators = [{validator:validator1,msg:'error desc1'},{validator:validator2,msg:'error desc2'}]
name: {type: String, required: true, validate:validators}

//离散的添加若干个验证规则
userSchema.path('name').validate(lengthVal, 'Too short');
userSchema.path('name').validate(/^[a-z]+$/i, 'Letters only');

转载于:https://www.cnblogs.com/lovecc/p/6022636.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值