【发布时间】:2013-12-16 00:10:18
【问题描述】:
我的猫鼬模式中有两个枚举验证器:
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', ... } }