07-Mongoose 预定义模式修饰符 Getters与 Setters修饰符

387 阅读1分钟

1、预定义模式修饰符

  • mongoose 提供的预定义模式修饰符,可以对我们增加的数据进行一些格式化
    • lowercase
    • uppercase
    • trim

使用方式:

var UserSchema = mongoose.Schema({
    name: {
        type: String,
        trim: true
    },
    age: Number,
    status: {
        type: Number,
        default: 1
    }
})

2、自定义修饰符 Getters与 Setters 修饰符

除了 mongoose内置的修饰符以外,我们还可以通过 set 修饰符在增加数据的时候对数据进行格式化。也可以通过 get 在实例获取数据的时候对数据进行格式化。

var NewsSchema = mongoose.Schema({
    title: "string",
    author: String,
    blogUrl: {
        type: String,
        set(url) {
            if (!url) return url;
            if (url.indexOf('http://') != 0 && url.indexOf('https://') != 0) {
                url = 'http://' + url;
            }
            return url;
        }
    },
    content: String,
    status: {
        type: Number,
    default: 1
    }
})