У меня есть проект со следующим потоком документов.
Пользователи -> Учетные записи -> Проекты
Пользователи
- Пользователи имеют специфицированные c роли
Учетные записи
- CRUD, обусловленный ролью пользователя
- Specifi c пользователи будут иметь доступ к индивидуальные счета. Я думал добавить массив userGroup с идентификаторами пользователя?
Projects
- Вложено в Accounts, относящиеся к одному accountToken ID
- CRUD обусловлено ролью пользователя
- Specifi c пользователи будут иметь доступ к отдельным проектам.
Вот примеры моделей схем, упрощенные для демонстрационных целей.
UserSchema. js:
const UserSchema = new mongoose.Schema({
email: {
type: String,
required: [true, 'Please add an email'],
unique: true,
},
role: {
type: String,
enum: ['admin', 'user'],
default: 'user'
}
});
module.exports = mongoose.model('User', UserSchema);
AccountSchema. js:
const AccountSchema = new mongoose.Schema({
accountName: {
type: String,
},
accountToken: {
type: String
}
});
module.exports = mongoose.model('Account', AccountSchema);
ProjectSchema. js:
const ProjectSchema = new mongoose.Schema({
projectName: {
type: String,
},
projectType: String,
projectToken: String
})
module.exports = mongoose.model('Project', ProjectSchema);
Я застрял на лучший способ настроить вложенные или вложенные отношения схемы и лучший способ связать данные между собой. Любые рекомендации и предложения будут огромным подспорьем! Спасибо !!!