AugusteVN.Database.Mongo
1.1.4
dotnet add package AugusteVN.Database.Mongo --version 1.1.4
NuGet\Install-Package AugusteVN.Database.Mongo -Version 1.1.4
<PackageReference Include="AugusteVN.Database.Mongo" Version="1.1.4" />
<PackageVersion Include="AugusteVN.Database.Mongo" Version="1.1.4" />
<PackageReference Include="AugusteVN.Database.Mongo" />
paket add AugusteVN.Database.Mongo --version 1.1.4
#r "nuget: AugusteVN.Database.Mongo, 1.1.4"
#:package AugusteVN.Database.Mongo@1.1.4
#addin nuget:?package=AugusteVN.Database.Mongo&version=1.1.4
#tool nuget:?package=AugusteVN.Database.Mongo&version=1.1.4
Mongo
Extensions on top of the MongoDb.driver.
Please, don't rely on these packages, these are not yet battle-tested and are subject to breaking changes. These packages are intended to be used within my own projects.
Includes:
- Global: Guid serializer
- Global: 'camelCaseConvention'
- Extension: 'PaginatedListAsync'
These were included after migration from a SQL project to support features like "Geospatial search".
Usage Examples
builder.Services.AddMongoDb(
connectionString: builder.configuration.GetConnectionString("DefaultConnection"),
databaseName: "exampleDb" // Optional, since it can be retrieved from connection string. Defaults to 'default'.
)
.AddMongoDbConventions(); // Optional. Adds serializer and convention.
public class ExampleFeature(IMongoDatabase db)
{
async () => await db
.GetCollection<ExampleEntity>(nameof(Example))
.FindAsync(...);
}
// Or,
public class ExampleFeature(IMongoClient client)
{
async () => await client.GetDatabase(name: "exampleDb")
.GetCollection<ExampleEntity>(nameof(Example))
.FindAsync(...);
}
Or, wrap in a context class:
builder.Services.AddMongoDbContext<DbContext>(
connectionString: builder.configuration.GetConnectionString("DefaultConnection"),
databaseName: "exampleDb" // Optional, since it can be retrieved from connection string. Defaults to 'default'.
)
.AddMongoDbConventions(); // Optional. Adds serializer and convention.
public class DbContext : IMongoDbContext
{
public IMongoClient Client { get; }
public IMongoDatabase Database { get; }
public IMongoCollection<ExampleEntity> Example => Database
.GetCollection<ExampleEntity>(nameof(Example));
}
public class ExampleFeature(DbContext dbContext)
{
async () => await dbContext
.Example
.AsQueryable()
.PaginatedListAsync(pageNumber: 1, pageSize: 9, cancellationToken: ...);
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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
- AugusteVN._Shared.Contracts (>= 1.1.0)
- AugusteVN.Database.Entities (>= 1.1.4)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.0)
- MongoDB.Driver (>= 3.10.0)
NuGet packages (8)
Showing the top 5 NuGet packages that depend on AugusteVN.Database.Mongo:
| Package | Downloads |
|---|---|
|
AugusteVN.Modules.Auth.Database.Mongo
MongoDB persistence layer for authentication and identity |
|
|
AugusteVN.Modules.Commerce.Database.Mongo
MongoDB persistence layer for commerce |
|
|
AugusteVN.Modules.Sponsorships.Database.Mongo
MongoDB persistence layer for sponsorships |
|
|
AugusteVN.Modules.Metrics.Database.Mongo
MongoDB persistence layer for metrics |
|
|
AugusteVN.Modules.Reviews.Database.Mongo
MongoDB persistence layer for reviews |
GitHub repositories
This package is not used by any popular GitHub repositories.
Added generic type parameter support for AuditableEntity.