Предположим, у меня есть Студент и Учитель во многих отношениях. Если я просто хочу узнать всех учителей для данного учащегося или наоборот, я вообще моделирую его с помощью встроенных идентификаторов объектов. Например, если у преподавателя есть свойство studentIds, которое является массивом идентификаторов Object для учащихся, тогда это достаточно информации для выполнения всех запросов.Каким образом в MongoDB должно быть смоделировано следующее много-много отношений?
Однако предположим, что студент может дать учителю оценку. Как этот рейтинг должен соответствовать модели? На данный момент я делаю следующее:
- Внутри учителя вместо того, чтобы хранить массив студента, я хранить массив JSON объектов {studentId: ObjectId, рейтинг: String}
- При выполнении запроса, я преобразовать массив объектов JSON в массив из studentIds и извлечь полную информацию, как обычно
- Так что теперь у меня есть массив студенческих объектов и массив объектов JSON с на рейтинги
- Однако, поскольку $ в оператор в MongoDB не сохраняет порядок, мне нужно сделать мой п сортировка
- На последнем этапе, со всем, чтобы я могу объединить студент объекты с рейтингами , чтобы получить то, что я хочу
Это работает, но кажется несколько запутанными есть лучший способ сделать это?
Кажется разумным для меня .... –