小编Han*_*Han的帖子

如何使用Typeorm在NestJS中实现分页

无论如何,通过一次查询即可获取总数并进行记录,而不必执行两次查询。或者如何在两个查询中重用where条件。

async findAll(query): Promise<Paginate> {
    const take = query.take || 10
    const skip = query.skip || 0
    const keyword = query.keyword || ''

    const builder = this.userRepository.createQueryBuilder("user")
    const total = await builder.where("user.name like :name", { name: '%' + keyword + '%' }).getCount()
    const data = await builder.where("user.name like :name", { name: '%' + keyword + '%' }).orderBy('name', 'DESC').skip(skip).take(take).getMany();

    return {
        data: data,
        count: total
    }
}
Run Code Online (Sandbox Code Playgroud)

{计数:10,数据:[{id:1,名称:'David'},{id:2,名称:'Alex'}]}

typescript typeorm nestjs

6
推荐指数
3
解决办法
4813
查看次数

标签 统计

nestjs ×1

typeorm ×1

typescript ×1