如何使用 typeorm 和 Nestjs 保存嵌套对象?
How to save a nested object using typeorm and Nestjs?
我有以下数据实体:
@PrimaryGeneratedColumn()
id: number
@Column()
dataA: string
@Column()
dataB: string
@Column()
dataC: number
@Column()
dataD: number
我要保存的数据对象:
const data = {
dataA: "data 1",
nestedData: {
dataB: "data 2",
dataC: 3
},
dataD: 4
}
然后我试着保存如下:
await this.dataRepository.save(data)
我收到一条错误消息,指出 dataB 和 dataC 不是数据实体的一部分,尽管它应该是。谢谢
您需要将其展平,在将对象传递到 Repository
之前编写一个函数来执行此操作。
export function flattenData(data) {
return {
dataA: data.dataA,
dataB: data.nestedData.dataB,
dataC: data.nestedData.dataC,
dataD: data.dataD,
}
}
// then pass into Repository
await this.dataRepository.save(flattenData(data));
我有以下数据实体:
@PrimaryGeneratedColumn()
id: number
@Column()
dataA: string
@Column()
dataB: string
@Column()
dataC: number
@Column()
dataD: number
我要保存的数据对象:
const data = {
dataA: "data 1",
nestedData: {
dataB: "data 2",
dataC: 3
},
dataD: 4
}
然后我试着保存如下:
await this.dataRepository.save(data)
我收到一条错误消息,指出 dataB 和 dataC 不是数据实体的一部分,尽管它应该是。谢谢
您需要将其展平,在将对象传递到 Repository
之前编写一个函数来执行此操作。
export function flattenData(data) {
return {
dataA: data.dataA,
dataB: data.nestedData.dataB,
dataC: data.nestedData.dataC,
dataD: data.dataD,
}
}
// then pass into Repository
await this.dataRepository.save(flattenData(data));