Reo.Core.MongoDB
10.0.15
See the version list below for details.
dotnet add package Reo.Core.MongoDB --version 10.0.15
NuGet\Install-Package Reo.Core.MongoDB -Version 10.0.15
<PackageReference Include="Reo.Core.MongoDB" Version="10.0.15" />
<PackageVersion Include="Reo.Core.MongoDB" Version="10.0.15" />
<PackageReference Include="Reo.Core.MongoDB" />
paket add Reo.Core.MongoDB --version 10.0.15
#r "nuget: Reo.Core.MongoDB, 10.0.15"
#:package Reo.Core.MongoDB@10.0.15
#addin nuget:?package=Reo.Core.MongoDB&version=10.0.15
#tool nuget:?package=Reo.Core.MongoDB&version=10.0.15
Reo.Core.MongoDB
Описание пакета
Reo.Core.MongoDB — это библиотека, предназначенная для работы с MongoDB в .NET-приложениях. Пакет предоставляет инструменты для миграций данных, инициализации базы (сеединг), асинхронной обработки данных и управления версиями миграций. Он решает проблемы, связанные с настройкой и поддержкой MongoDB в приложениях, обеспечивая структурированный подход к управлению данными и автоматизируя рутинные задачи.
Основные компоненты
Migration: Класс для определения миграций данных. Содержит методыApplyAsyncиRollbackAsyncдля применения и отката изменений.IMigrationBuilder: Интерфейс для создания и управления миграциями.IMongoDatabaseProvider: Сервис для получения экземпляраIMongoDatabase, используемого для взаимодействия с MongoDB.SeedService: Класс для инициализации базы данных (сеединг). Реализует интерфейсINoSqlSeedService.INoSqlSeedService: Интерфейс для сеединга. Включает методыSeedAsync(заполнение данных) иEntityName( название сущности).AsyncEnumerable: Расширения для асинхронной итерации по документам MongoDB черезIAsyncCursor.MigrationVersion: Класс для управления версиями миграций.
Требования
- .NET: Совместимо с .NET 8.0 и .NET 9.0.
- Зависимости:
MongoDB.DriverMicrosoft.Extensions.DependencyInjection
Установка
Используйте следующие команды для установки пакета:
Install-Package Reo.Core.MongoDB
или
dotnet add package Reo.Core.MongoDB
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
Добавьте сервисы в ConfigureServices в Startup.cs или Program.cs:
services.AddMongoDatabase("MongoDBSettings:ConnectionString", "MongoDBSettings:DatabaseName");
services.AddMigrations();
services.AddSeeders<SampleSeeder>();
Конфигурационные параметры
ConnectionString: Строка подключения к MongoDB.DatabaseName: Имя базы данных.MigrationVersion: Версия миграции (опционально).
Использование
Пример 1: Создание и применение миграции
public class SampleMigration : Migration
{
public override async Task ApplyAsync(IMongoDatabase database, CancellationToken cancellationToken)
{
await database.GetCollection<User>("users").InsertManyAsync(
new List<User> { new User { Name = "Alice" }, new User { Name = "Bob" } },
cancellationToken
);
}
}
Пример 2: Реализация сеединга
public class SampleSeeder : INoSqlSeedService
{
public string EntityName() => "Users";
public async Task<int> SeedAsync(CancellationToken cancellationToken)
{
// Логика заполнения данных
return 2; // Количество добавленных элементов
}
}
Пример 3: Асинхронная обработка данных
var collection = database.GetCollection<MyDocument>("mycollection");
await foreach (var document in collection.ToAsyncEnumerable(cancellationToken))
{
Console.WriteLine(document.Id);
}
Лицензия
Данный пакет распространяется под лицензией MIT.
Примечание: Для использования в проектах требуется явное указание версии MongoDB и настройка параметров подключения.
| 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
- AspNetCore.HealthChecks.MongoDb (>= 9.0.0)
- AspNetCore.HealthChecks.Redis (>= 9.0.0)
- AspNetCore.HealthChecks.UI.Client (>= 9.0.0)
- FluentValidation (>= 12.1.1)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- JetBrains.Annotations (>= 2025.2.4)
- LinqKit.Core (>= 1.2.9)
- Microsoft.AspNetCore.Mvc.NewtonsoftJson (>= 10.0.2)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.2)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.2)
- Microsoft.Extensions.Configuration (>= 10.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Http.Polly (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- MongoDB.Analyzer (>= 2.0.0)
- MongoDB.Driver (>= 3.6.0)
- NEST (>= 7.17.5)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- RedLock.net (>= 2.3.2)
- Reo.Core.DistributedCache (>= 10.0.15)
- Reo.Core.HealthCheck (>= 10.0.15)
- Reo.Core.Hosting (>= 10.0.15)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.0)
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Linq.Async (>= 7.0.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Reo.Core.MongoDB:
| Package | Downloads |
|---|---|
|
Reo.Core.AutoHistory
Package Description |
|
|
Reo.Core.Testing
Package Description |
|
|
Reo.Core.Email
Package Description |
|
|
Reo.Core.TestCaseCollector
Package Description |
|
|
Reo.Core.Events
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.33 | 27 | 2/13/2026 |
| 10.0.32 | 31 | 2/13/2026 |
| 10.0.31 | 33 | 2/13/2026 |
| 10.0.30 | 35 | 2/12/2026 |
| 10.0.29 | 37 | 2/12/2026 |
| 10.0.28 | 40 | 2/11/2026 |
| 10.0.27 | 54 | 2/11/2026 |
| 10.0.26 | 113 | 2/9/2026 |
| 10.0.25 | 110 | 2/9/2026 |
| 10.0.24 | 119 | 2/9/2026 |
| 10.0.23 | 114 | 2/9/2026 |
| 10.0.22 | 106 | 2/9/2026 |
| 10.0.21 | 123 | 2/9/2026 |
| 10.0.20 | 116 | 2/9/2026 |
| 10.0.15 | 117 | 2/6/2026 |
| 10.0.14 | 117 | 2/6/2026 |
| 10.0.13 | 137 | 2/4/2026 |
| 10.0.12 | 122 | 2/3/2026 |
| 10.0.11 | 123 | 2/2/2026 |
| 10.0.10 | 118 | 1/29/2026 |