Mongoose 校验参数

Posted 苍青浪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongoose 校验参数相关的知识,希望对你有一定的参考价值。

mongoose数据校验是指用户通过mongoose给mongodb数据库增加数据的时候,对数据的合法性进行的验证,在mongoose里面定义Schema的时候,通过设置字段类型,修饰符、默认参数 、数据校验等都是为了数据库数据的一致性。
required: 表示这个数据必须传入
max: 用于 Number 类型数据,最大值
min: 用于 Number 类型数据,最小值
enum:枚举类型,用于String要求数据必须满足枚举值 enum: [\'0\', \'1\', \'2\']
match:增加的数据必须符合 match(正则)的规则
maxlength:最大值
minlength:最小值
var mongoose=require(\'./db.js\');
var UserSchema=mongoose.Schema({
    name:{
        type:String,//指定类型
        trim:true,   //修饰符         
        required:true //该数据不能缺省
    },
    sn:{
        type:String,
        index:true,  //普通索引.
        set(val){  //自定义修饰符
            return val;
        },
        // maxlength:20,//长度不能超过20
        // minlength:10//长度不能小于10
        // match:/^sn(.*)/ ,//必须符合该正则表达式
        validate: function(sn) {//自定义验证规则
            return sn.length >= 10;
        }        
    },   
    age:{
        type:Number,
        min:0,    //用在number类型上面
        max:150//最大值为150
    },       
    status:{
        type:String, 
        default:\'success\', //默认值
        enum:[\'success\',\'error\']   //status的值必须在 对应的数组里面  注意枚举是用在String
    }
})
module.exports=mongoose.model(\'User\',UserSchema,\'user\');

 

以上是关于Mongoose 校验参数的主要内容,如果未能解决你的问题,请参考以下文章

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

Struts2请求参数校验

无法访问 express js router.delete 中的参数

AOP + 注解 实现通用的接口参数校验

mongoose 给文档的子数组的头部插入数据

链路性能测试中参数多样性方法分享