Mongoose 數據校驗

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
 
自定義校驗,用特定的方法來約束數據,用於任意類型
 
 
以下是使用實例
 
// 引入自定義的連接數據庫的文件
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');


 

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章