嵌入式文档的Mongoose枚举验证

3

我在我的mongoose模式中有两个枚举验证器:

var UserSchema = new Schema({
    facebookId: {
        type: Number,
        required: true,
        unique: true
    },
    fullName: {
        type: String,
        required: true
    },
    firstName: String,
    lastName: String,
    locale: String,
    gender: {
        type: String,
        uppercase: true,
        enum: ['M', 'F']
    },
    matchPreferences: {
        gender: {
            type: String,
            uppercase: true,
            enum: ['M', 'F']
        },
        minAge: Number,
        maxAge: Number,
        maxRadiusMiles: Number
    }
});

顶级性别属性得到了执行,但我能够保存matchPreferences.gender的任何内容而没有遇到任何验证错误。然而,在读取文档时确实会发生验证错误。

嵌入式文档是否支持枚举验证?如果不支持,有哪些替代方法可以强制只使用枚举值?


你有没有任何例子在这里不起作用的,我无法复现它,当我尝试将matchPreferences.gender设置为'X'时,出现了以下错误:{ 'matchPreferences.gender': { message: 'Validator "enum" failed for path matchPreferences.gender with value X', ... } } - Mattias Farnemyhr
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接