字符串数组的Mongoose枚举验证?

cle*_*ter 18 arrays string validation enums mongoose

是否可以使用enum验证type: [String]?

例:

var permitted = ['1','2','3'];

var exampleSchema = new Schema({
    factors: {
            type: [String],
            enum: permitted,
            required: "Please specify at least one factor."
    }
});
Run Code Online (Sandbox Code Playgroud)

我原以为factors只能包含值permitted.

Man*_*anu 38

这对我来说很好(mongoose@4.1.8)

var schema = new mongoose.Schema({
  factors: [{type: String, enum: ['1', '2', '3'], required: ...}] 
  ...
})
Run Code Online (Sandbox Code Playgroud)

注意我正在使用一个对象数组

  • 我不知道这个功能!酷:) (2认同)

Abk*_*Abk 9

从mongoose版本5.0.6和更高版本开始,OP 问题现在有效!

 factors: {
            type: [String],
            enum: permitted,
            required: "Please specify at least one factor."
    }
Run Code Online (Sandbox Code Playgroud)

参考

https://github.com/Automattic/mongoose/issues/6204#issuecomment-374690551