Documentation / @andrew_l/mongo-pagination / withMongoPagination
Function: withMongoPagination()
withMongoPagination<
T>(cursor,options?):QueryPaginator<ExtractSchema<T>>
Enhances a MongoDB FindCursor with pagination capabilities.
Type Parameters
T
T extends FindCursor<any>
Parameters
cursor
T
The MongoDB cursor to be paginated.
options?
Optional configuration for pagination.
Returns
QueryPaginator<ExtractSchema<T>>
Examples
ts
// Basic usage with a MongoDB cursor:
import { MongoClient } from 'mongodb';
async function paginateCollection() {
const client = new MongoClient('mongodb://localhost:27017');
await client.connect();
const db = client.db('exampleDb');
const collection = db.collection('exampleCollection');
const cursor = collection.find({ status: 'active' });
const paginator = withMongoPagination(cursor, {
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 a custom preQuery callback:
const paginator = withMongoPagination(cursor, {
preQuery: function () {
console.log('Executing query...');
},
});
const result = await paginator.exec();
console.log(result.items);