From 9b613ee202d096a472c58b00e0ef5cfbe4fcdc5a Mon Sep 17 00:00:00 2001 From: Jarrod Flesch <30633324+JarrodMFlesch@users.noreply.github.com> Date: Fri, 20 Jan 2023 16:30:46 -0500 Subject: [PATCH] fix: limits and sorts within pagination and not on initial aggregation --- src/versions/drafts/queryDrafts.ts | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/versions/drafts/queryDrafts.ts b/src/versions/drafts/queryDrafts.ts index 8d0e8480c2..81c6937f26 100644 --- a/src/versions/drafts/queryDrafts.ts +++ b/src/versions/drafts/queryDrafts.ts @@ -64,20 +64,19 @@ export const queryDrafts = async ({ }, // Filter based on incoming query { $match: versionQuery }, - // Re-sort based on incoming sort - { - $sort: Object.entries(paginationOptions.sort).reduce((sort, [key, order]) => { - return { - ...sort, - [key]: order === 'asc' ? 1 : -1, - }; - }, {}), - }, - // Add pagination limit - { $limit: paginationOptions.limit }, ]); - const result = await VersionModel.aggregatePaginate(aggregate, paginationOptions); + const paginationSort = Object.entries(paginationOptions.sort).reduce((sort, [key, order]) => { + return { + ...sort, + [key]: order === 'asc' ? 1 : -1, + }; + }, {}); + + const result = await VersionModel.aggregatePaginate(aggregate, { + ...paginationOptions, + sort: paginationSort, + }); return { ...result,