Могу ли я иметь разные поля схемы для разных ролей в MongoDB - PullRequest
0 голосов
/ 27 мая 2020

У приложения разные роли, у каждой роли разные функции. userSchema

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: [true, "Please add a name"],
  },
  email: {
    type: String,
    required: [true, "Please add an email"],
    unique: true,
    match: [
      /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/,
      "Please add a valid email",
    ],
  },
  role: {
    type: String,
    enum: ["player", "admin", "judge", "payment", "clubadmin"],
    default: "player",
  },
  password: {
    type: String,
    required: [true, "Please add a password"],
    minlength: 6,
    select: false,
  },
  clubID: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "Clubs",
  },

  resetPasswordToken: String,
  resetPasswordExpire: Date,
  createdAt: {
    type: Date,
    default: Date.now,
  },
});

Я хочу добавить ScoreSheet для каждого player , в любом случае это их, я могу иметь ScoreSheet, только если роль - player и clubID только если роль это «clubadmin».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...