跳到主要内容

使用查询构建器删除

Delete

你可以使用 QueryBuilder 创建 DELETE 查询。 示例:

await myDataSource
.createQueryBuilder()
.delete()
.from(User)
.where("id = :id", { id: 1 })
.execute()

这是从数据库中删除实体在性能方面最有效的方法。

软删除

在 QueryBuilder 中应用软删除

await dataSource.getRepository(Entity).createQueryBuilder().softDelete()

示例:

await myDataSource
.getRepository(User)
.createQueryBuilder()
.softDelete()
.where("id = :id", { id: 1 })
.execute()

恢复软删除

另外,你可以使用 restore() 方法恢复软删除的记录:

await dataSource.getRepository(Entity).createQueryBuilder().restore()

示例:

await myDataSource
.getRepository(User)
.createQueryBuilder()
.restore()
.where("id = :id", { id: 1 })
.execute()