定义Schema字段的授权值

时间:2016-11-04 12:06:45

标签: mongodb mongoose

是否可以在Mongoose中定义特定字段的授权值? 例如我的字段“style”,只允许设置为“jazz”,“blues”或“rock”

.property file

2 个答案:

答案 0 :(得分:1)

首先,您在谈论mongoose schema types(字符串)。

您必须知道在定义架构类型(options)时可以添加一些选项。

根据您的想法,选项enum似乎是一个不错的选择。

Ps :枚举是一个内置验证器,什么是validator

文档中的示例

var states = 'opening open closing closed'.split(' ')
var s = new Schema({ state: { type: String, enum: states }})

您的案例

const CONSTANT_GOOD_VALUES = ['jazz', 'blues', 'rock'];

var artistSchema = new mongoose.Schema({
    style: {
        type: String
        enum: CONSTANT_GOOD_VALUES,
    },
});

答案 1 :(得分:1)

试试这个: -

var artistSchema = new mongoose.Schema({
   status: {
        type: String,
        enum : ['jaz,'blues','rock']

    },
});