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

How to allow only certain string values inside a Mongodb array using mongoose?

我正在使用 Node.jsMongodb 创建服务器端应用程序。我正在使用 Mongoose 包访问 MongoDB 数据库。而且,我希望我的 Mongoose 数组只允许将某些值推入其中。例如。如果我已经配置我的 mongoose 数组以支持像 adminusercourse 这样的值,猫鼬是否可以通过任何方式禁止推送 admin 以外的任何值,usercourse 放入数组 ?

试试这个:

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

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

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