Here's my user Schema :

const userSchema = new mongoose.Schema({
  username: {
      type: String,
      validate: function (v) {
          return /([0-9a-zA-Z])\w{6,}/.test(v);
      },
      required: [true, "Username required"],
  },
  passwordHash: {
      type: String,
      required: [true, "PasswordHash required"],
  },
  role: {
      type: String,
      required: [true, "User role required"],
  },});

How can I make the role field as an array of two items -admin and manager, where the user can only choose between those two options?

推荐答案

Try using enum like so

  role: {
   type: String,
   enum: ["manager", "admin"],
   default: "manager",
  }

Javascript相关问答推荐

在react JS中映射数组对象的嵌套数据

如何迭代叔父元素的子HTML元素

邮箱密码重置链接不适用于已部署的React应用程序

使用插件构建包含chart.js提供程序的Angular 库?

在表单集中保存更改时删除';禁用';

对具有相似属性的对象数组进行分组,并使用串连的值获得结果

如何使用Astro优化大图像?

Socket.IO在刷新页面时执行函数两次

是否可以在不更改组件标识的情况下换出Reaction组件定义(以维护状态/引用等)?如果是这样的话,是如何做到的呢?

输入数据覆盖JSON文件

Reaction路由v6.4+数据API:重试加载程序而不显示错误

如何使用Angular JS双击按钮

如何在HTML中使用rxjs显示动态更新

如何使用属性访问器定义循环的for...的局部变量

类型脚本类型声明未按预期工作

打造新年音乐宾果游戏

改进了正则表达式的性能

将文本复制到循环结果

JavaScript数组首先按两个特定名称排序

根据Vue 3中的父项宽度将props 值传递给子项