TypeORM:如何使用查询运行程序部分更新给定实体?

omi*_*idh 4 typescript typeorm nestjs

如果我想部分更新我的用户名,我可以轻松地执行以下操作:

await this.repository.save({ id: 1, name: 'john' });
Run Code Online (Sandbox Code Playgroud)

但是当我使用 queryrunner 执行此操作时,它要求所有字段都存在并抛出missing following properties from type 'User'

await queryRunner.manager.save({ id: 1, name: 'john' }); // Error: Missing property
Run Code Online (Sandbox Code Playgroud)

spi*_* 王建 5

我猜save操作将被转换为insert,也许你需要检查执行的sql。你也可以尝试这个:

await queryRunner.manager.update(User, 1, { name: "john" });
Run Code Online (Sandbox Code Playgroud)