public async Task <List <Recipe> > Get(string?search, params Expression <Func <Recipe, object> >[] fields)
        {
            var filter     = string.IsNullOrEmpty(search) ? Filter.Empty : Filter.Text(search);
            var projection = Projection.Combine(fields.Select(Projection.Include));

            return(await Recipes.Find(filter).Project(projection).As <Recipe>().ToListAsync());
        }