node.js - 嵌入式文档的 Mongoose 枚举验证

标签 node.js mongodb mongoose

我的 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 保存任何内容而没有任何验证错误。不过,在阅读文档时确实会发生验证错误。

枚举验证是否适用于嵌入式文档?如果不是,有什么替代方案可以仅强制执行枚举值?

最佳答案

4.2.5 版本应提供对子文档枚举验证的修复。

Refer this issue page

关于node.js - 嵌入式文档的 Mongoose 枚举验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291806/

相关文章:

node.js - Upstart env 节没有为 Node.js 应用程序设置环境变量(如 NODE_ENV)

node.js - Angular 客户端启用 CORS

c++ - mongocxx : Inserting a Datetime

javascript - meteor 数二的收藏值(value)

javascript - 删除父 Mongoose 模式数组内子模式中的单个行

node.js - Mongoose 和 NodeJS 中的多个数据库使用相同的引用文件架构

javascript - connect-modrewrite 将我的 POST 请求更改为 GET

javascript - 如何删除 Javascript 中继承的对象值?

mongodb - MongoError : This MongoDB deployment does not support retryable writes. 请在您的连接字符串中添加 retryWrites=false

javascript - 发送查看......来自两个不同数据库的信息