embedded式文档的Mongoose枚举validation

我在mongoose模式中有两个枚举validation器:

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的任何内容,而不会有任何validation错误。 虽然阅读文档时会出现validation错误。

枚举validation在embedded式文档上工作吗? 如果不是,只有强制枚举值的替代方法是什么?

子文档上的枚举validation修正应该在4.2.5版本上提供。

请参阅此问题页面