Pagination

신홍석·2022년 4월 21일
0

Pagination: 문서의 페이지을 매김

  • 페이지를 나눠서 정보들이 한 페이지에 너무 많이 나타내는 것을 방지함
    nestjs paginate package
npm install nestjs-paginate

만약 User 라는 데이터 베이스가 있다면

import { FilterOperator, Paginate, PaginateQuery, paginate, Paginated } from 'nestjs-paginate'

________________________
finalAll(): Observable<User[]> {
	return from(this.userRepository.find()).pipe(
    	map((users:User[]) => {
        	users.forEach(function(v) {delete v.password});
            return users;
        })
    );
}
-----------------------

paginate(options: IPaginationOptions): Observable<Pagination<User>>{
	return from(paginate<User>(this.userRepository, options)).pipe(
    	map(usersPageable: Pagination<User>) => {
        	usersPageable.items.forEach(function (v) {delete v.password)};
            
            return usersPageable
        })
   )
}

여기서 IPaginationOptions 는 nestjs에서 만들어 놓은 pagination 설정 디렉토리다.

IPaginationOptions 안에는 limit, page, route? 가 있는데

limit: number - the amount of items to be requested per page

page: number - the page that is requested

route?: stirng - a babasesic route for generating links

코드를 입력하세요
profile
백엔드 개발자 공부

0개의 댓글