NetEvolve.Pulse.MongoDB
0.67.36
Prefix Reserved
dotnet add package NetEvolve.Pulse.MongoDB --version 0.67.36
NuGet\Install-Package NetEvolve.Pulse.MongoDB -Version 0.67.36
<PackageReference Include="NetEvolve.Pulse.MongoDB" Version="0.67.36" />
<PackageVersion Include="NetEvolve.Pulse.MongoDB" Version="0.67.36" />
<PackageReference Include="NetEvolve.Pulse.MongoDB" />
paket add NetEvolve.Pulse.MongoDB --version 0.67.36
#r "nuget: NetEvolve.Pulse.MongoDB, 0.67.36"
#:package NetEvolve.Pulse.MongoDB@0.67.36
#addin nuget:?package=NetEvolve.Pulse.MongoDB&version=0.67.36
#tool nuget:?package=NetEvolve.Pulse.MongoDB&version=0.67.36
NetEvolve.Pulse.MongoDB
MongoDB persistence provider for the Pulse outbox pattern using the official MongoDB C# driver. Designed for document-oriented architectures where the outbox participates in the same MongoDB database as domain aggregates.
Features
- Native MongoDB implementation using
MongoDB.Driver - Atomic message claiming via
FindOneAndUpdateAsyncwithCreatedAtsort to prevent concurrent duplicates - Configurable database name and collection name (default:
outbox_messages) - Health check support via MongoDB
pingcommand - Requires
IMongoClientto be registered in the dependency injection container by the caller
Installation
NuGet Package Manager
Install-Package NetEvolve.Pulse.MongoDB
.NET CLI
dotnet add package NetEvolve.Pulse.MongoDB
PackageReference
<PackageReference Include="NetEvolve.Pulse.MongoDB" />
Quick Start
using MongoDB.Driver;
using NetEvolve.Pulse;
// Register IMongoClient in DI (required by the caller)
services.AddSingleton<IMongoClient>(new MongoClient("mongodb://localhost:27017"));
services.AddPulse(config => config
.AddMongoDbOutbox(opts =>
{
opts.DatabaseName = "myapp";
opts.CollectionName = "outbox_messages";
}));
Usage
Using AddMongoDbOutbox (Full Setup)
Registers core outbox services and the MongoDB repository in a single call.
services.AddSingleton<IMongoClient>(new MongoClient(connectionString));
services.AddPulse(config => config
.AddMongoDbOutbox(opts =>
{
opts.DatabaseName = "myapp";
}));
Using UseMongoDbOutbox (Provider Swap)
Call AddOutbox() first, then UseMongoDbOutbox to set the MongoDB repository.
services.AddSingleton<IMongoClient>(new MongoClient(connectionString));
services.AddPulse(config => config
.AddOutbox()
.UseMongoDbOutbox(opts =>
{
opts.DatabaseName = "myapp";
opts.CollectionName = "outbox_messages";
}));
Configuration
| Property | Type | Default | Description |
|---|---|---|---|
DatabaseName |
string |
(required) | The MongoDB database name |
CollectionName |
string |
outbox_messages |
The MongoDB collection name |
Requirements
- .NET 8.0 or higher (net8.0, net9.0, net10.0 targets)
IMongoClientregistered in the dependency injection container
Related Packages
- NetEvolve.Pulse.SqlServer – SQL Server outbox provider
- NetEvolve.Pulse.PostgreSql – PostgreSQL outbox provider
- NetEvolve.Pulse.SQLite – SQLite outbox provider
- NetEvolve.Pulse – Core Pulse mediator and abstractions
Documentation
For complete documentation, please visit the official documentation.
Contributing
Contributions are welcome! Please read the Contributing Guidelines before submitting a pull request.
Support
- Issues: Report bugs or request features on GitHub Issues
- Documentation: Read the full documentation at https://github.com/dailydevops/pulse
License
This project is licensed under the MIT License - see the LICENSE file for details.
Made with ❤️ by the NetEvolve Team Visit us at https://www.daily-devops.net for more information about our services and solutions.
| 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
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- MongoDB.Driver (>= 3.8.0)
- NetEvolve.Pulse (>= 0.67.36)
- SharpCompress (>= 0.48.0)
- Snappier (>= 1.3.1)
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- MongoDB.Driver (>= 3.8.0)
- NetEvolve.Pulse (>= 0.67.36)
- SharpCompress (>= 0.48.0)
- Snappier (>= 1.3.1)
-
net9.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- MongoDB.Driver (>= 3.8.0)
- NetEvolve.Pulse (>= 0.67.36)
- SharpCompress (>= 0.48.0)
- Snappier (>= 1.3.1)
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.67.36 | 119 | 5/10/2026 |