我正在使用TypeORM + PostgreSQL设置服务器。保存将实体保存到实体的存储库时,出现错误:TypeError: relatedEntities.forEach is not a function
,并且该实体未保存到数据库。
这似乎仅在我使用@OneToMany
或@TreeChildren
装饰器时发生。
这是导致问题的我的实体类:
import { ServiceData } from './service-data.entity';
import { ManufacturerData } from './manufacturer-data.entity';
import { Entity, Column, PrimaryGeneratedColumn, TreeChildren } from 'typeorm';
@Entity()
export class Advertisement {
@PrimaryGeneratedColumn()
id: number;
@Column({ nullable: true })
name?: string;
@Column()
gatewayId: string;
@Column()
rssi: number;
@Column({ nullable: true })
mac?: string;
@TreeChildren()
manufacturerData?: ManufacturerData[];
@TreeChildren()
serviceData?: ServiceData;
}
(缩写)错误输出为:
UnhandledPromiseRejectionWarning: TypeError: relatedEntities.forEach is not a function
at OneToManySubjectBuilder.buildForSubjectRelation (/<project-directory>/src/persistence/subject-builder/OneToManySubjectBuilder.ts:78:25)
答案 0 :(得分:0)
发现了问题。
@TreeChildren
和@OneToMany
总是期望一个数组。我不得不将serviceData?: ServiceData;
更改为serviceData?: ServiceData[];