Documentation / @andrew_l/mongo-pagination / withMongoosePagination
Function: withMongoosePagination() ​
withMongoosePagination<
T
>(query
,options
?):QueryPaginator
<ExtractDocType
<T
>>
Enhances a Mongoose query with pagination capabilities.
Type Parameters ​
• T extends AnyQuery
Parameters ​
• query: T
The Mongoose query to be paginated.
• options?: QueryPaginatorOptions
Optional configuration for pagination.
Returns ​
QueryPaginator
<ExtractDocType
<T
>>
Examples ​
ts
// Basic usage with a Mongoose query:
import { withMongoosePagination } from './pagination';
import mongoose from 'mongoose';
async function paginateMongooseQuery() {
const User = mongoose.model('User', new mongoose.Schema({ name: String, status: String }));
const query = User.find({ status: 'active' });
const paginator = withMongoosePagination(query, {
paginationFields: ['_id'],
next: null,
});
const result = await paginator.exec();
console.log(result.items); // Logs the items for the current page
console.log(result.metadata); // Logs pagination metadata
}
ts
// Using custom preQuery and postQuery callbacks:
const paginator = withMongoosePagination(query, {
preQuery: function () {
console.log('Before executing the query');
},
postQuery: function () {
console.log('After executing the query');
},
});
const result = await paginator.exec();
console.log(result.items); // Logs items for the current page
console.log(result.metadata); // Logs pagination metadata