EricksonLopez.Pagination.MongoDB
0.0.0-alpha.0
dotnet add package EricksonLopez.Pagination.MongoDB --version 0.0.0-alpha.0
NuGet\Install-Package EricksonLopez.Pagination.MongoDB -Version 0.0.0-alpha.0
<PackageReference Include="EricksonLopez.Pagination.MongoDB" Version="0.0.0-alpha.0" />
<PackageVersion Include="EricksonLopez.Pagination.MongoDB" Version="0.0.0-alpha.0" />
<PackageReference Include="EricksonLopez.Pagination.MongoDB" />
paket add EricksonLopez.Pagination.MongoDB --version 0.0.0-alpha.0
#r "nuget: EricksonLopez.Pagination.MongoDB, 0.0.0-alpha.0"
#:package EricksonLopez.Pagination.MongoDB@0.0.0-alpha.0
#addin nuget:?package=EricksonLopez.Pagination.MongoDB&version=0.0.0-alpha.0&prerelease
#tool nuget:?package=EricksonLopez.Pagination.MongoDB&version=0.0.0-alpha.0&prerelease
EricksonLopez.Pagination.MongoDB
MongoDB Driver offset and cursor pagination extensions for the EricksonLopez.Pagination ecosystem.
Overview
This package provides native, highly optimized pagination extension methods for MongoDB.Driver. It supports both IMongoQueryable<T> and IFindFluent<T, P> interfaces, allowing seamless integration whether you use LINQ or the MongoDB driver's builder API.
Installation
<PackageReference Include="EricksonLopez.Pagination.MongoDB" Version="[VERSION]" />
Usage
Offset Pagination
using EricksonLopez.Pagination.MongoDB;
var parameters = new PaginationParameters { Page = 2, PageSize = 20 };
var paged = await collection.AsQueryable()
.Where(u => u.IsActive)
.ToPagedListAsync(parameters);
Cursor Pagination
using EricksonLopez.Pagination.MongoDB;
var parameters = new CursorPaginationParameters { First = 20, After = "..." };
var paged = await collection.AsQueryable()
.Where(u => u.IsActive)
.ToCursorPagedListAsync(parameters, u => u.Id);
FindFluent Support
var paged = await collection.Find(u => u.IsActive)
.ToCursorPagedListAsync(parameters, Builders<User>.Sort.Ascending(u => u.Id));
Limitations
Native AOT Compatibility
The MongoDB driver's IMongoQueryable implementation relies on Expression.Compile(), which is incompatible with Native AOT. Therefore, this package cannot be fully AOT-compatible.
String Key Collation
When using string keys for cursor pagination in MongoDB, ensure that the database collection collation matches the .NET string comparison behavior, otherwise you may experience missed or duplicated documents across pages.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- EricksonLopez.Pagination (>= 0.0.0-alpha.0)
- MongoDB.Driver (>= 3.10.0)
-
net8.0
- EricksonLopez.Pagination (>= 0.0.0-alpha.0)
- MongoDB.Driver (>= 3.10.0)
-
net9.0
- EricksonLopez.Pagination (>= 0.0.0-alpha.0)
- MongoDB.Driver (>= 3.10.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.0-alpha.0 | 62 | 8/25/2026 |