前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mongoose 数据校验

Mongoose 数据校验

作者头像
越陌度阡
发布2020-11-26 12:33:26
1K0
发布2020-11-26 12:33:26
举报

Mongoose为了保证数据库数据的一致性,提供了对数据校验的功能,常用的校验有以下这些:

1. required

必须传入,用于任意类型

2. max

最大值,用于 Number 类型数据

3. min

最小值, 用于 Number 类型数据

4. enum

枚举类型,要求数据必须满足枚举值 enum: ['0', '1', '2'],用于 String 类型

5. match

匹配正则,要求增加的数据必须匹配正则表达式,用于 String 类型

6. maxlength

最大长度,输入字符的长度不能超过该长度,用于 String 类型

7. minlength

最小长度,输入的字符的长度最小长度,用于 String 类型

8. validate

自定义校验,用特定的方法来约束数据,用于任意类型

以下是使用实例

代码语言:javascript
复制
// 引入自定义的连接数据库的文件
var mongoose = require('./db.js');
var UserSchema = mongoose.Schema({
    name: {
        type: String,
        trim: true,
        // 必须传入       
        required: true
    },
    sn: {
        type: String,
        index: true,
        // 最大长度
        maxlength: 20,
        // 最小长度
        minlength: 10,
        // 正则匹配
        match: /^sn(.*)/,
        // 自定义校验
        validate: function (sn) {
            return sn.length >= 10;
        }

    },
    phone:{ 
        type:Number, 
        // 正则匹配
        match: /^\d{11}$/ 
    },
    age: {
        type: Number,
        // 最小值
        min: 0,
        // 最大值
        max: 150
    },
    status: {
        type: String,
        default: 'success',
        // 值的枚举范围
        enum: ['success', 'error']
    }
})
module.exports = mongoose.model('User', UserSchema, 'user');
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档