public async Task <List <ApplicationName> > GetApplicationNames() { IMongoQueryable <JobApplication> query = collection.AsQueryable(); var jobApps = await query.Select(x => new ApplicationName { Id = x._id, Name = x.Name }).ToListAsync(); return(jobApps); }
public void _07_AddNewGenre() { var oldGenreCount = queryable.Select(b => b.genre.Length).Max(); collection.UpdateMany( Builders <Book> .Filter.Where(b => b.genre.Contains("fantasy")), Builders <Book> .Update.AddToSet("genre", "favority")); var newGenreCount = queryable.Select(b => b.genre.Length).Max(); collection.UpdateMany( Builders <Book> .Filter.Where(b => b.genre.Contains("fantasy")), Builders <Book> .Update.AddToSet("genre", "favority")); var newerGenreCount = queryable.Select(b => b.genre.Length).Max(); Assert.IsTrue(newGenreCount > oldGenreCount); Assert.IsTrue(newerGenreCount == newGenreCount); Console.WriteLine(queryable.ToList() .Select(bk => bk.name + "\t" + bk.genre.Aggregate((a, b) => a + ", " + b)) .Aggregate((a, b) => a + "\n" + b)); }
public void _07_AddNewGenre() { var oldGenreCount = queryable.Select(b => b.genre.Length).Max(); collection.UpdateMany( "{genre: 'fantasy'}", "{$addToSet: {genre: 'favority'}}"); var newGenreCount = queryable.Select(b => b.genre.Length).Max(); collection.UpdateMany( "{genre: 'fantasy'}", "{$addToSet: {genre: 'favority'}}"); var newerGenreCount = queryable.Select(b => b.genre.Length).Max(); Assert.IsTrue(newGenreCount > oldGenreCount); Assert.IsTrue(newerGenreCount == newGenreCount); Console.WriteLine(queryable.ToList() .Select(bk => bk.name + "\t" + bk.genre.Aggregate((a, b) => a + ", " + b)) .Aggregate((a, b) => a + "\n" + b)); }
protected virtual IMongoQueryable <DocumentWithoutContent> ApplyFilterForGetAll( IMongoQueryable <Document> query, Guid?projectId, string name, string version, string languageCode, string fileName, string format, DateTime?creationTimeMin, DateTime?creationTimeMax, DateTime?lastUpdatedTimeMin, DateTime?lastUpdatedTimeMax, DateTime?lastSignificantUpdateTimeMin, DateTime?lastSignificantUpdateTimeMax, DateTime?lastCachedTimeMin, DateTime?lastCachedTimeMax, CancellationToken cancellationToken = default) { if (projectId.HasValue) { query = query.Where(d => d.ProjectId == projectId.Value); } if (name != null) { query = query.Where(d => d.Name != null && d.Name.Contains(name)); } if (version != null) { query = query.Where(d => d.Version != null && d.Version == version); } if (languageCode != null) { query = query.Where(d => d.LanguageCode != null && d.LanguageCode == languageCode); } if (fileName != null) { query = query.Where(d => d.FileName != null && d.FileName.Contains(fileName)); } if (creationTimeMin.HasValue) { query = query.Where(d => d.CreationTime.Date >= creationTimeMin.Value.Date); } if (creationTimeMax.HasValue) { query = query.Where(d => d.CreationTime.Date <= creationTimeMax.Value.Date); } if (lastUpdatedTimeMin.HasValue) { query = query.Where(d => d.LastUpdatedTime.Date >= lastUpdatedTimeMin.Value.Date); } if (lastUpdatedTimeMax.HasValue) { query = query.Where(d => d.LastUpdatedTime.Date <= lastUpdatedTimeMax.Value.Date); } if (lastSignificantUpdateTimeMin.HasValue) { query = query.Where(d => d.LastSignificantUpdateTime != null && d.LastSignificantUpdateTime.Value.Date >= lastSignificantUpdateTimeMin.Value.Date); } if (lastSignificantUpdateTimeMax.HasValue) { query = query.Where(d => d.LastSignificantUpdateTime != null && d.LastSignificantUpdateTime.Value.Date <= lastSignificantUpdateTimeMax.Value.Date); } if (lastCachedTimeMin.HasValue) { query = query.Where(d => d.LastCachedTime.Date >= lastCachedTimeMin.Value.Date); } if (lastCachedTimeMax.HasValue) { query = query.Where(d => d.LastCachedTime.Date <= lastCachedTimeMax.Value.Date); } return(query.Select(x => new DocumentWithoutContent { Id = x.Id, ProjectId = x.ProjectId, Name = x.Name, Version = x.Version, LanguageCode = x.LanguageCode, FileName = x.FileName, Format = x.Format, CreationTime = x.CreationTime, LastUpdatedTime = x.LastUpdatedTime, LastSignificantUpdateTime = x.LastSignificantUpdateTime, LastCachedTime = x.LastCachedTime })); }
public static IMongoQueryable <R> Project <T, R>(this IMongoQueryable <T> query, Expression <Func <T, R> > selector) => query?.Select(selector);