MongoDB에서 skip, limit를 사용하는 방식의 pagination에선 모든 데이터에 대한 세트를 구축하고 처음부터 지정된 오프셋까지 걸고 건너뛰는 방식으로 이루어 지기 때문에 오프셋이 증가되면 될수록 성능이 저하됩니다.
성능 예시 그래프
kb.objectrocket.com/mongo-db/mongoose-pagination-with-nodejs-and-mongodb-1304
이 패키지는 pastel 서버의 createSession과 createAccessToken 부분에서 충돌을 일으킵니다.
저 패키지를 적용하지 않으면 올바르게 빌드 됩니다.
. skip을 사용하지 않았으며, 자동으로 부여되는 _id를 활용하는 방법.
//Page 1
db.users.find().limit(pageSize);
//Find the id of the last document in this page
last_id = ...
//Page 2
users = db.users.find({'_id'> last_id}). limit(10);
마지막으로 발견된 _id를 저장하여 다음 페이지를 가져올 때 활용하면 되지만
프론트에서 처리를 해줘야합니다.