据我所知,最好的做法是在更新后退回项目。 TypeORM 的 updateById
返回 void
,但不是更新的项目。
我的问题:是否可以在一行中更新和返回修改后的项目?
到目前为止我尝试了什么:
await this.taskRepository.updateById(id, { state, dueDate });
return this.taskRepository.findOne({ id });
我在找什么:
return this.taskRepository.updateById(id, { state, dueDate }); // returns updated task
原文由 sandrooco 发布,翻译遵循 CC BY-SA 4.0 许可协议
我刚刚发现我可以使用
.save
方法来做到这一点:根据 文档(部分
save
),也支持部分更新:值得注意的是,
.save
如果新记录不存在,则会创建一个新记录,这可能不是故意的,有时可能会带来安全风险。为了保护这一点,您可以使用.createQueryBuilder
在 1 个查询中实现它: