Node.js 键入一对一关系更新

Node.js 键入一对一关系更新,node.js,postgresql,typeorm,Node.js,Postgresql,Typeorm,我遇到了以下问题: 当我尝试更新与用户有一对一关系的图像(文件实体)时,我会在数据库中保存一个新的用户ID,而不是保留现有ID,我希望得到帮助 实体: @OneToOne(type => User, user => user.file) user: User | User['id']; 代码: 确保将userExist.id传递给User.save({…userExists,…newUserData})。我猜您确实用空值覆盖了分配。请确保您正在将userExist.

我遇到了以下问题: 当我尝试更新与用户有一对一关系的图像(文件实体)时,我会在数据库中保存一个新的用户ID,而不是保留现有ID,我希望得到帮助

实体:

    @OneToOne(type => User, user => user.file)
    user: User | User['id'];
代码:


确保将userExist.id传递给
User.save({…userExists,…newUserData})
。我猜您确实用空值覆盖了分配。请确保您正在将userExist.id传递给
User.save({…userExists,…newUserData})
。我猜你的赋值是用空值覆盖的。
 @OneToOne(type => FileModel, file => file.user, {onUpdate: 'CASCADE', onDelete: 'CASCADE'})
    @JoinColumn()
    file: FileModel;
    async update(newUserData, userId: number, picture?) {
        const userExists = await User.findOne(userId, {relations: ["file"]});
        if (picture) {
            if (userExists.file) {
                await fileService.removeS3(userExists.file.fileName);
                await fileService.deleteFile(userExists.file.id);
            }
            const fileModel = new FileModel();
            const {Location, Key} = await fileService.uploadImage(picture.filename, picture.originalname);
            fileModel.fileName = Key;
            fileModel.filePath = Location;
            userExists.file = await fileService.saveImage(fileModel);
        }
        return await User.save({...userExists, ...newUserData});
    }