MongoDB, как связать роли с пользователями, используя схему Мангуста - PullRequest
1 голос
/ 06 марта 2019

Я хочу создать приложение, в котором пользователи могут регистрироваться как «частные» или как «компании», где, если пользователи регистрируются как компании, у них будут другие варианты выбора, например, «пакет 1», «пакет 2»."," пакет 3 "и т. д. Эти дополнительные параметры являются различными" ролями ".

Я думаю о том, какая лучшая практика будет здесь.Я использую MongoDB, поэтому я должен создать одну «UserSchema», куда я включаю все, или я должен также создать какую-то «RoleSchema»?

Пока у меня есть что-то вроде этого:

User.js:

const UserSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  email: {
    type: String,
    required: true
  },
  password: {
    type: String,
    required: true
  },
  roleType: {
   type: Schema.Types.ObjectId,
   ref: "roles"
  }
});

module.exports = User = mongoose.model("users", UserSchema);

Roles.js

const RoleSchema = new Schema({
  user: {
    type: Schema.Types.ObjectId,
    ref: "users"
  },
  role_name: {
    type: String
  }
});

module.exports = Roles = mongoose.model("roles", RoleSchema);

Будет ли это хорошим способом или естьвозможно, другие и лучшие способы сделать это?Я вроде новичок в MongoDB

Заранее спасибо

...