public async Task <long> SelectGroupCount(BuildGroup group) => await _buildCollection.CountAsync(new BsonDocument { new BsonElement(nameof(Build.MajorVersion), @group.Major), new BsonElement(nameof(Build.MinorVersion), @group.Minor), new BsonElement(nameof(Build.Number), @group.Build), new BsonElement(nameof(Build.Revision), @group.Revision) });
public async Task <List <Build> > SelectGroup(BuildGroup group, int limit = -1, int skip = 0) { IFindFluent <Build, Build> query = _buildCollection.Find(new BsonDocument { new BsonElement(nameof(Build.MajorVersion), group.Major), new BsonElement(nameof(Build.MinorVersion), group.Minor), new BsonElement(nameof(Build.Number), group.Build), new BsonElement(nameof(Build.Revision), group.Revision) }).Sort(new BsonDocument { new BsonElement(nameof(Build.BuildTime), 1) }).Skip(skip); if (limit > 0) { query = query.Limit(limit); } return(await query.ToListAsync()); }