Мне нужно создать схему для многопользовательского приложения, которое мне нужно разработать с использованием MongoDB, Express, AngularJS и NodeJS. У меня есть 4 типа пользователей в этом приложении, GUEST
, REGISTERED_USER
, SUBSCRIBER
, ADMIN
. Как только пользователь зарегистрировал приложение, мне нужно отобразить формы и информацию на основе роли (ов) конкретного пользователя.Схема Mongoose для многопользовательского приложения
Может ли кто-нибудь дать мне некоторое представление о том, как обрабатывать схему для разных ролей пользователя, поскольку я мог бы впоследствии использовать ее для функций роли и уровня доступа?
Например, следующая registeredUserSchema
является общим для REGISTERED_USER
, SUBSCRIBER
, ADMIN
пользователей:
var registeredUserSchema = mongoose.Schema({
userId: String,
fullName: String ,
email: String,
password: String,
created: { type: Date, default: Date.now },
roles: [String]
});
Но тогда мне нужно много информации, чтобы спросить у пользователя с SUBSCRIBER
роли так, как только он прописал приложение, я бы хотел отобразить много дополнительной информации, чтобы показать, что он заполняется в его информации о acocunt, чем пользователь с REGISTERED_USER
.
Может ли кто-нибудь помочь мне с этим?
EDIT: Больше Explaination
Например, REGISTERED_USER
будет userId
, но пользователь с SUBSCRIBER
роль будет иметь subscriberId
. Поэтому мне нужно решить, как структурировать эти данные, так как есть данные, общие для всех пользователей, а затем для каждого пользователя существуют разные данные, основанные на его роли. Мне нужна помощь в стратегии выбора структуры данных. Например, в Java Persistence API мы используем различные стратегии наследования для структурирования данных в реляционных таблицах баз данных.
То, что я есть, что на основе роли пользователя, мне нужно попросить и сохранить информацию в базе данных. Например, у зарегистрированного пользователя будет 'userId', но у пользователя с ролью подписчика будет' подписчикId'. Поэтому мне нужно решить, как структурировать эти данные, так как есть данные, общие для всех пользователей, а затем для каждого пользователя существуют разные данные, основанные на его роли. Мне нужна помощь в стратегии выбора структуры данных. Например, в Java Persistence API мы используем различные стратегии наследования для структурирования данных в реляционных таблицах баз данных. – skip