【问题标题】:How to allow only certain string values inside a Mongodb array using mongoose?如何使用 mongoose 只允许 Mongodb 数组中的某些字符串值?
【发布时间】:2019-08-27 23:21:21
【问题描述】:

我正在使用Node.jsMongodb 创建一个服务器端应用程序。我正在使用Mongoose 包来访问MongoDB 数据库。而且,我希望我的 Mongoose 数组只允许将某些值推入其中。例如。如果我已将mongoose 数组配置为支持adminusercourse 等值,那么猫鼬有什么办法禁止将adminusercourse 以外的任何值推入数组?

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    试试这个:

    var schema = new mongoose.Schema({
      somefield: {type: String, enum: ['admin', 'user', 'course'], required: ...} 
      ...
    })
    

    enum 属性只允许提到的值。您还可以设置自定义错误消息以检查请求正文是否包含这些指定字段以外的任何内容。

    在此处阅读更多信息:https://mongoosejs.com/docs/validation.html#built-in-validators

    【讨论】:

    • 非常感谢 :) 因为我想要在那个地方有一个数组,所以我可以使用 somefield : [{type: String, enum: ['admin', 'user', 'course'], required: ...}] 解决它
    猜你喜欢
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-29
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多