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