Я хочу определить отношение «один ко многим» между моей моделью ученика и моей моделью образования: 1 ученик принадлежит 1 формации, и формация может состоять из N студентов.
Мои потребности:
- иметь возможность заполнять документ Formation своими учениками
- легко получить образование студента
Итак, я написал:
let student = new Schema({
firstName: {
type: String
},
lastName: {
type: String
},
formation : {
type: Schema.Types.ObjectId,
ref: 'Formation'
}
});
let formation = new Schema({
title: {
type: String
},
students: [{ type: Schema.Types.ObjectId, ref: 'Student' }]
}
Когда я ищу документацию об отношении один-ко-многим с mongodb / mongoose, я с удивлением обнаруживаю, что когда я хочу создать документ Student (и добавить его в формирование), я должен не только установить его поле "формация" с идентификатором образования, а также вставьте его в поле документа формирования "студенты".
Означает ли это, что когда я хочу заменить формирование студента другой формацией, мне нужно будет 1 / обновить его поле формирования 2 / удалить себе идентификатор студента из поля формации "студенты" и повторно добавить его в поле студентов новой формации?
Мне это кажется немного избыточным. Я что-то упускаю?