如何使用节点(打字稿)更新Type ORM中的一对一关系
How to update one-one relation in Type ORM using node(typescript)
我有两个实体,一个是 Filter,另一个是 Dataset,两者都是一对一的关系
让我知道如何使用承诺的存储库更新基于数据集的过滤器实体
代码写在node.ts
我的 API 电话是
.put('/dataset/:id/filter')
`@Entity('dataset')
export class DatasetEntity {
@PrimaryGeneratedColumn('increment')
id!: number
@Column()
program!: string
@Column()
description!: string
@Column()
name!: string
}
@Entity('filter')
export class FilterEntity {
@PrimaryGeneratedColumn('increment')
id!: number
@Column({ type: 'json' })
attributes!: { [key: string]: any }
@OneToOne(() => DatasetEntity)
@JoinColumn()
dataset!: DatasetEntity
}`
你可以这样做。
const filterRepo = getRepository(FilterEntity);
const savedFilter = await filterRepo.findOne({
//Choose one according your situation
id: req.params.id //if id comming from params is filter id,
dataset: req.params.id //if id comming from params is filter id
});
if(!savedFilter.dataset)
throw "Data set not found";
//Now pass the updated value like
savedFilter.attributes = req.body.attributes;
await filterRepo.save(savedFilter);
您可能需要在过滤器存储库中更改一件事
@OneToOne(() => DatasetEntity)
@JoinColumn({name: "id"})
dataset!: DatasetEntity
我有两个实体,一个是 Filter,另一个是 Dataset,两者都是一对一的关系 让我知道如何使用承诺的存储库更新基于数据集的过滤器实体 代码写在node.ts 我的 API 电话是 .put('/dataset/:id/filter')
`@Entity('dataset')
export class DatasetEntity {
@PrimaryGeneratedColumn('increment')
id!: number
@Column()
program!: string
@Column()
description!: string
@Column()
name!: string
}
@Entity('filter')
export class FilterEntity {
@PrimaryGeneratedColumn('increment')
id!: number
@Column({ type: 'json' })
attributes!: { [key: string]: any }
@OneToOne(() => DatasetEntity)
@JoinColumn()
dataset!: DatasetEntity
}`
你可以这样做。
const filterRepo = getRepository(FilterEntity);
const savedFilter = await filterRepo.findOne({
//Choose one according your situation
id: req.params.id //if id comming from params is filter id,
dataset: req.params.id //if id comming from params is filter id
});
if(!savedFilter.dataset)
throw "Data set not found";
//Now pass the updated value like
savedFilter.attributes = req.body.attributes;
await filterRepo.save(savedFilter);
您可能需要在过滤器存储库中更改一件事
@OneToOne(() => DatasetEntity)
@JoinColumn({name: "id"})
dataset!: DatasetEntity