using MongoDB.Driver;

namespace Application.Services.Database;

public interface IMongoDbService
{
    IMongoCollection<T> GetCollection<T>(string collectionName);
    Task<List<T>> FindAsync<T>(string collectionName, List<(string FieldName, string Value)> criteria);
    Task AddAsync<T>(string collectionName, T document);
    Task ModifyAsync<T>(string collectionName, string keyField, string keyValue, T document);
    Task DeleteAsync<T>(string collectionName, string keyField, string keyValue);
}