updated mongo connection string

master
Young 6 months ago
parent 58a9b610e6
commit a54e081c27

@ -287,8 +287,23 @@ public static class ServiceCollectionExtensions
return services; return services;
} }
var host = configuration[MongoDbOptions.MongoHost] ?? mongoDbOptions.Host;
ArgumentException.ThrowIfNullOrEmpty(host);
var user = configuration[MongoDbOptions.MongoUser] ?? mongoDbOptions.User;
ArgumentException.ThrowIfNullOrEmpty(user);
var password = configuration[MongoDbOptions.MongoPassword] ?? mongoDbOptions.Password;
ArgumentException.ThrowIfNullOrEmpty(password);
var port = configuration[MongoDbOptions.MongoPort] ?? mongoDbOptions.Port;
ArgumentException.ThrowIfNullOrEmpty(port);
var database = configuration[MongoDbOptions.MongoDatabase] ?? mongoDbOptions.Database;
ArgumentException.ThrowIfNullOrEmpty(database);
var connectionString = $"mongodb://{user}:{password}@{host}:{port}/{database}";
services.TryAddSingleton<IMongoDatabase>(_ => services.TryAddSingleton<IMongoDatabase>(_ =>
new MongoClient(mongoDbOptions.ConnectionString) new MongoClient(connectionString)
.GetDatabase(mongoDbOptions.Database)); .GetDatabase(mongoDbOptions.Database));
services.TryAddScoped(typeof(IMongoRepositoryBase<,>), typeof(MongoRepositoryBase<,>)); services.TryAddScoped(typeof(IMongoRepositoryBase<,>), typeof(MongoRepositoryBase<,>));
return services; return services;

@ -4,7 +4,19 @@ public class MongoDbOptions : OptionsBase
{ {
public const string SectionName = "MongoDb"; public const string SectionName = "MongoDb";
public string? ConnectionString { get; set; } public const string MongoPassword = "MONGO_PASSWORD";
public const string MongoUser = "MONGO_USER";
public const string MongoDatabase = "MONGO_DATABASE";
public const string MongoHost = "MONGO_HOST";
public const string MongoPort = "MONGO_PORT";
public string User { get; set; }
public string Password { get; set; }
public string Port { get; set; }
public string Host { get; set; }
public string? Database { get; set; } public string? Database { get; set; }
} }
Loading…
Cancel
Save