사용 몽구스 - PAGINATE-V2 쿼리 속도가 느린 문제

장면

페이지 몽구스 - PAGINATE-V2 플러그인은 내가 여러 번 사용했지만, 최근에 생성 된 프로젝트에 문제가 발생, 몽구스입니다.

이전 코드 페이지 매김 플러그인 쿼리를 사용하고 자신의 미들웨어 페이징 사용하지 마십시오
오래된 코드, 16ms를

 @Get('')
  public async index(@Query() query, @Pager() pager: any, @Req() req: Request, @Res() res: Response) {
    const map: any = {};
    if (query.group && query.group !== '') {
      map.group = query.group;
    }
    if (query.username && query.username !== '') {
      map.username = { $regex: query.username };
    }
    const count = await this.model.countDocuments(map);
    const page = pager.parse(count);
    console.log(page);

    const list = await this.model.find(map).sort({ updateAt: -1 })
      .limit(page.limit)
      .skip(page.skip)
      .select('_id group username device.deviceType deviceType createAt updateAt status enable creator proxy')
      .populate('group');

    return res.status(HttpStatus.OK).json({
      message: 'success',
      data: {
        list: [],
      },
    });
  }

페이지 매김 플러그인을 사용하여 새로운 코드에 대한 1.5S 매우 느린 소요
사용 PAGINATE을 : 1532ms를

 public async slow(@Query() query, @Pager() pager: any, @Req() req: Request, @Res() res: Response) {
    const map: any = {};
    if (query.group && query.group !== '') {
      map.group = query.group;
    }
    if (query.username && query.username !== '') {
      map.username = { $regex: query.username };
    }
    const count = await this.model.count(map);
    const page = pager.parser(count);
    console.log(page);
    const list = await this.model.paginate(map, {
      limit: pager.limit,
      offset: pager.skip,
      select: '_id group username device.deviceType deviceType createAt updateAt status enable creator proxy',
      populate: ['group'],
      sort: { updateAt: -1 },
    });

    return res.status(HttpStatus.OK).json({
      message: 'success',
      data: list,
    });
  }

상술 한 문제

나는 또한 아주 바쁘다, 그래서 코드를 직접 문제를 언급 참조, 현재 새로운 버전으로 업데이트 할 필요가 응답받지 못한 v1.3.3업데이트 후 다시 정상을

주소 문제

블로그 : https://github.com/zhaojunlike

추천

출처www.cnblogs.com/xiaojunzi/p/11737359.html