MongoDB.Driver.Linq.AsyncEnumerable
2.15.4
dotnet add package MongoDB.Driver.Linq.AsyncEnumerable --version 2.15.4
NuGet\Install-Package MongoDB.Driver.Linq.AsyncEnumerable -Version 2.15.4
<PackageReference Include="MongoDB.Driver.Linq.AsyncEnumerable" Version="2.15.4" />
paket add MongoDB.Driver.Linq.AsyncEnumerable --version 2.15.4
#r "nuget: MongoDB.Driver.Linq.AsyncEnumerable, 2.15.4"
// Install MongoDB.Driver.Linq.AsyncEnumerable as a Cake Addin
#addin nuget:?package=MongoDB.Driver.Linq.AsyncEnumerable&version=2.15.4
// Install MongoDB.Driver.Linq.AsyncEnumerable as a Cake Tool
#tool nuget:?package=MongoDB.Driver.Linq.AsyncEnumerable&version=2.15.4
MongoDB.Driver.Linq.AsyncEnumerable
Unofficial IAsyncEnumerable support for MongoDB C# Driver.
Provides ToAsyncEnumerable()
extensions for MongoDB IAsyncCursor
and IAsyncCursorSource
.
Asynchronous enumeration is implemeted so that the iterator fetches documents from database to memory one batch at time.
The size of the batch can be controller by BatchSize
property of e.g. AggregateOptions
or FindOptions
.
Usage
- Include types in
MongoDB.Driver.Linq
namespace byusing MongoDB.Driver.Linq
- Call the
ToAsyncEnumerable()
extension for eitherIAsyncCursor
orIAsyncCursorSource
- Asynchronously iterate through elements returned by
ToAsyncEnumerable()
Enumerating results of Find()
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
var client = new MongoClient();
var database = client.GetDatabase("ExampleDatabase");
var collection = database.GetCollection<BsonDocument>("ExampleCollection");
await foreach (var document in collection.Find(_ => true).ToAsyncEnumerable())
{
Console.WriteLine(document.ToString());
}
Enumerating results of Aggregate()
by fetching documents in batches of 1000 documents
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
var client = new MongoClient();
var database = client.GetDatabase("ExampleDatabase");
var collection = database.GetCollection<BsonDocument>("ExampleCollection");
var options = new AggregateOptions { BatchSize = 1000 };
await foreach (var document in collection.Aggregate(options).ToAsyncEnumerable())
{
Console.WriteLine(document.ToString());
}
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.1 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.1
- MongoDB.Driver (>= 2.15.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on MongoDB.Driver.Linq.AsyncEnumerable:
Package | Downloads |
---|---|
DataExplorer.MongoDb
Library featuring common patterns in regard to working with MongoDb based on MongoDB.Entities. |
GitHub repositories
This package is not used by any popular GitHub repositories.