Mongoose 数据校验

本文介绍了Mongoose的数据校验功能,包括对所有数据类型、Number和String数据类型的校验参数,如required、max/min、enum及match等。此外,还讨论了如何使用Mongoose自定义验证器来实现更复杂的验证规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Mongoose 校验参数

1、用于所有数据类型

required : 表示这个数据必须传入


2、用于Number数据类型

max: 最大值
min: 最小值


3、用于String数据类型

enum:枚举类型,要求数据必须满足枚举值 enum: [‘0’, ‘1’, ‘2’]
match:增加的数据必须符合
match(正则)的规则
maxlength:最大长度
minlength:最小长度

const UserSchema = new mongoose.Schema({
     name:{ 
         type:String, 
         required: true,  // 是否必填的校验器 required: true,
     },
     age: { 
         type: Number,
         max: 120, // 数字类型的最大值校验器 max: 120,
         min: 0 // 数字类型的最小值校验器 min: 0 
     },
     status: { 
         type: String,
         enum: ['0', '1', '2'] // 设置字符串的可选值 enum: ['0', '1', '2'] 
     },
     phone:{
          type:Number, 
          match: /^\d{11}$/ 
     },
     desc: { 
         type: String, 
         maxlength:20, 
         minlength:10 
     } 
});

二、Mongoose 自定义的验证器

const UserSchema = new mongoose.Schema({
     desc: { 
         type: String, 
         validate: function(desc) { 
             return desc.length >= 10; // 自定义的验证器,如果通过验证返回 true,没有通过则返回 false 
         }
         
     } 
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值