MongoDB如何使用Mongoose模式将角色连接到用户

时间:2019-03-06 10:59:10

标签: json mongodb nosql mongoose-schema

我想构建一个用户可以注册为“私人”或“公司”的应用程序,如果用户注册为公司,他们将有更多选择,例如“程序包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有点陌生

预先感谢

0 个答案:

没有答案