У меня есть две модели:
class Pupil {
@Prop({ type: String, required: true, unique: false })
public name!: string
@Prop({ type: String, required: true, unique: false })
public surname!: string
@Prop({ type: String, required: true, unique: false })
public midname!: string
@Prop({ type: String, required: true, unique: false })
public age!: string
@Prop({ type: String, required: true, unique: false })
public gender!: string
@Prop({ type: String, required: true, unique: false })
public phone!: string
@Prop({ type: String, required: false, unique: false })
public parentPhone!: string
@Prop({ type: String, required: true, unique: false })
public discord!: string
}
class Group {
@Prop({ type: String, required: true, unique: true })
public GROUP_NAME!: string
@Prop({ type: Number, required: true, unique: false })
public LEVEL!: number
@Prop({ type: String, required: true, unique: false })
public TUTOR!: string
@Prop({ type: Number, required: true, unique: false })
public PLACES!: number
@Prop({
type: Schema.Types.Array,
ref: 'Pupil',
unique: false,
default: []
})
public PUPILS!: Ref<Pupil>[]
}
- Ученик и группа
Група создаётся вот таким запросом:
{
"GROUP_NAME": "Имя Группы",
"TUTOR": "Преподаватель",
"LEVEL": 4,
"PLACES": 3,
"PUPILS": ["60b8bd8ea379d8001f1e7700", "60b8c143a379d8001f1e7701"]
}
В поле pupils хранится массив _id учеников из коллекции Pupils.
Я хочу делать популяцию этих айдишников, когда у меня с сервера запрашивают группу/группы.
Я делаю это так:
await Group.find().populate('PUPILS', 'Pupil')
И это возвращает мне такой объект:
{
"PUPILS": [],
"_id": "60b9755dee93c303b35d0afb",
"GROUP_NAME": "Имя Группы",
"TUTOR": "Преподаватель",
"LEVEL": 4,
"PLACES": 3,
"__v": 0
}
Я ожидал, что мне прийдёт массив, где будут 2 объекта ученика из коллекции Pupils, а пришёл пустой массив
Я перечитал все документации, обошёл весь StackOverflow, но ничего не нашёл... А если и находил, то там всё было либо так же, либо на JS без Typegoose.