Marraia.MongoDb
1.1.7
dotnet add package Marraia.MongoDb --version 1.1.7
NuGet\Install-Package Marraia.MongoDb -Version 1.1.7
<PackageReference Include="Marraia.MongoDb" Version="1.1.7" />
<PackageVersion Include="Marraia.MongoDb" Version="1.1.7" />
<PackageReference Include="Marraia.MongoDb" />
paket add Marraia.MongoDb --version 1.1.7
#r "nuget: Marraia.MongoDb, 1.1.7"
#:package Marraia.MongoDb@1.1.7
#addin nuget:?package=Marraia.MongoDb&version=1.1.7
#tool nuget:?package=Marraia.MongoDb&version=1.1.7
Utilização do Mongodb em aplicações em .Net Core
Adapter para conexão com o Mongodb
Arquivo de configuração - String de conexão
Primeiro passo é adicionar a string de conexão com o mongodb em seu arquivo de configuração appsettings.json
"MongoSettings": {
"Connection": "mongodb://192.168.0.18:17017/",
"Database": "TesteMarraia"
}
Injetar o uso do MongoDb em sua aplicação
No arquivo Startup.cs de sua aplicação adicione no método ConfigureServices o middleware em específico:
public void ConfigureServices(IServiceCollection services)
{
..
..
services.AddMongoDb();
}
Herança na classe de domínio
Nas classes de domínio que serão collections no MongoDb, realizar a herança da classe Entity < PrimaryKey > Onde PrimaryKey, é o tipo de dado que será a identificação do objeto no MongoDb.
public class Person : Entity<Guid>
{
public Person(string name, string surname)
{
Id = Guid.NewGuid();
Name = name;
Surname = surname;
}
public string Name { get; private set; }
public string Surname { get; private set; }
}
Herança de Repositório Base
Em seu repositório use a herança da classe MongoDbRepositoryBase<ClassDomain, PrimaryKey>. Onde ClassDomain informe sua classe de domínio Onde PrimaryKey informe o tipo da identificação do objeto no MongoDb
public class PersonRepository : MongoDbRepositoryBase<Person, Guid>, IPersonRepositorio
{
public PersonRepositorio(IMongoContext context)
: base (context)
{
}
}
Com essa herança, você terá os métodos:
- InsertAsync(ClassDomain)
- UpdateAsync(ClassDomain)
- DeleteAsync(PrimaryKey)
- GetByIdAsync(PrimaryKey)
- GetAllAsync(PrimaryKey)
Sobrescrita dos métodos base
Caso necessite você poderá fazer a sobrescrita dos métodos da classe base MongoDbRepositoryBase<ClassDomain, PrimaryKey>
public class PersonRepositorio : MongoDbRepositoryBase<Person, Guid>, IPersonRepositorio
{
public PersonRepositorio(IMongoContext context)
: base (context)
{
}
public override async Task InsertAsync(Person entity)
{
await Collection
.InsertOneAsync(entity);
}
public override async Task<Person> GetByIdAsync(Guid id)
{
return await Collection
.AsQueryable()
.Where(a => a.Id == id)
.FirstOrDefaultAsync();
}
}
Perceba, que para obter o contexto da conexão com o MongoDb, existe a propriedade Collection, que já está injetada com a sua classe de domínio.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.0)
- MongoDB.Driver (>= 3.1.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 |
|---|---|---|
| 1.1.7 | 1,525 | 1/10/2025 |
| 1.1.6 | 233 | 12/12/2024 |
| 1.1.5 | 213 | 12/12/2024 |
| 1.1.4-alpha | 154 | 12/12/2024 |
| 1.1.3 | 209 | 12/12/2024 |
| 1.1.2 | 200 | 12/11/2024 |
| 1.1.1 | 2,228 | 12/31/2022 |
| 1.1.0 | 812 | 9/9/2022 |
| 1.0.4 | 1,010 | 9/2/2022 |
| 1.0.3 | 633 | 12/30/2020 |
| 1.0.2 | 571 | 12/30/2020 |
| 1.0.1 | 608 | 9/25/2020 |
| 1.0.0 | 611 | 9/25/2020 |