Я впервые использую TypeORM и, к сожалению, должен использовать JavaScript. Документы в основном сосредоточены на TypeScript, поэтому я застрял, пытаясь получить запись со всеми связанными другими записями.
module.exports = {
name: "recordings",
columns: {
id: {
type: "uuid",
primary: true,
generated: "uuid"
},
title: {
type: "text",
unique: true,
nullable: false
},
file: {
type: "text",
unique: true,
nullable: false
}
},
relations: {
recordingAnnotations: {
target: "recordingAnnotations",
type: "one-to-many",
joinTable: true,
}
}
};
module.exports = {
name: "recordingAnnotations",
columns: {
id: {
type: "uuid",
primary: true,
generated: "uuid"
},
startsAt: {
type: "int",
nullable: false
},
endsAt: {
type: "int",
nullable: false
},
content: {
type: "text",
unique: true,
nullable: false
}
},
relations: {
recording: {
target: "recordings",
type: "many-to-one",
nullable: false,
onDelete: "CASCADE"
}
}
};
Теперь я хочу найти запись recording
со всеми аннотациями.
const repo = conn.getRepository(Recording.name);
const result = await repo.find({
where: { id },
relations: [ "recordingAnnotations" ]
});
Результат, который я пытаюсь получить, будет выглядеть следующим образом:
id: "some-uuid",
title: "Recording 1",
file: "some-uuid",
annotations: [
{ id: "some-uuid", startsAt: 0, endsAt: 10, content: "Hello!" },
{ id: "some-uuid", startsAt: 20, endsAt: 25, content: "Bye!" },
]
Полученная ошибка:
TypeError: Невозможно прочитать свойство 'joinColumns'
из неопределенного