public async Task <List <T> > GetList(JsonElement condition, IViewOption options) { FilterDefinition <T> filter = condition.ToString(); var query = collection.Find(filter); query = View.MakePagination(query, options); query = query.Project <T>(View.BuildProjection <T>(options)); query.Sort(View.BuildSort(options)); return(await query.ToListAsync()); }
public async Task <T> GetSingle(string uniqueField, IViewOption options) { FilterDefinition <T> condition = "{" + $" \"{uniqueFieldName}\": " + $"\"{uniqueField}\"" + "}"; var query = collection.Find(condition); query = View.MakePagination(query, options); query = query.Project <T>(View.BuildProjection <T>(options)); query.Sort(View.BuildSort(options)); return(await query.FirstOrDefaultAsync()); }