如何使用 mongoose 在 Mongodb 数组中只允许某些字符串值?

1 mongoose mongodb node.js mongoose-schema

我正在使用Node.js和创建服务器端应用程序Mongodb。我正在使用Mongoose包访问MongoDB数据库。而且,我希望我的 Mongoose 数组只允许将某些值推入其中。例如。如果我有我的配置mongoose阵列状支撑值adminuser并且course,有没有什么办法猫鼬禁止以外的值有任何的推动adminuser以及course入阵?

Roh*_*yap 7

尝试这个:

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

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

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