using MongoDB.Driver;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
// 假设我们有一个配置类,用于从配置文件中读取MongoDB连接字符串
public class MongoDbConfig
{
public string ConnectionString { get; set; }
}
// 注入配置选项
public interface IMongoDbConfig
{
string ConnectionString { get; }
}
// 用于初始化MongoDB客户端的服务
public class MongoDbService
{
private readonly IMongoClient _client;
public MongoDbService(IOptions<MongoDbConfig> options)
{
var client = new MongoClient(options.Value.ConnectionString);
_client = client;
}
public IMongoDatabase GetDatabase(string name)
{
return _client.GetDatabase(name);
}
}
// 使用MongoDB服务进行操作的示例
public class SomeMongoDbOperationsService
{
private readonly IMongoDatabase _database;
public SomeMongoDbOperationsService(MongoDbService mongoDbService)
{
_database = mongoDbService.GetDatabase("YourDatabaseName");
}
public async Task<bool> InsertDocument(YourDocumentType document)
{
var collection = _database.GetCollection<YourDocumentType>("YourCollectionName");
await collection.InsertOneAsync(document);
return true;
}
// 其他操作...
}
在这个代码示例中,我们首先定义了一个配置类和接口,用于从配置文件中读取MongoDB的连接字符串。然后,我们创建了一个MongoDbService
类,它使用依赖注入来接收配置选项,并初始化了MongoClient
。最后,我们创建了一个服务SomeMongoDbOperationsService
,它使用MongoDbService
来获取数据库,并提供了插入文档的示例方法。这个示例展示了如何在ASP.NET 6中使用MongoDB进行基本的数据库操作。