using MongoDB.Driver; namespace Infrastructure.Services.MongoDB { public class MongoDbService { private readonly IMongoDatabase _database; public MongoDbService(string connectionString) { var url = new MongoUrl(connectionString); var client = new MongoClient(url); _database = client.GetDatabase(url.DatabaseName); } public IMongoCollection GetCollection(string collectionName) { return _database.GetCollection(collectionName); } public async Task> FindAsync(string collectionName, List<(string FieldName, string Value)> criteria) { var collection = _database.GetCollection(collectionName); var filters = new List>(); foreach (var (FieldName, Value) in criteria) { filters.Add(Builders.Filter.Eq(FieldName, Value)); } var combinedFilter = Builders.Filter.And(filters); return await collection.Find(combinedFilter).ToListAsync(); } } }