Указатель на список документов для агрегации.
Namespace:InfinniPlatform.DocumentStorage
Assembly:InfinniPlatform.DocumentStorage.Abstractions.dll
public interface IDocumentAggregateCursor<TResult> : IDocumentCursor<TResult>
Type Parameters
Methods
|
Improve this Doc
View Source
Группирует исходные документы по указанному выражению и производит вычисление заданных функций агрегации для каждой группы.
Declaration
IDocumentAggregateCursor<TNewResult> Group<TKey, TNewResult>(Expression<Func<TResult, TKey>> groupKey, Expression<Func<IGrouping<TKey, TResult>, TNewResult>> groupValue)
Parameters
Type |
Name |
Description |
Expression<Func<TResult, TKey>> |
groupKey |
Функция выборки группы.
|
Expression<Func<IGrouping<TKey, TResult>, TNewResult>> |
groupValue |
Функция агрегации группы.
|
Returns
Type Parameters
Name |
Description |
TKey |
|
TNewResult |
|
|
Improve this Doc
View Source
Ограничивает результирующую выборку указанным количеством документов.
Declaration
IDocumentAggregateCursor<TResult> Limit(int limit)
Parameters
Type |
Name |
Description |
System.Int32 |
limit |
|
Returns
|
Improve this Doc
View Source
Присоединяет к каждому исходному документу документ из указанной внешней коллекции в соответствии с заданным правилом
(left outer join).
Declaration
IDocumentAggregateCursor<TNewResult> Lookup<TForeignDocument, TNewResult>(string foreignDocumentType, Expression<Func<TResult, object>> localKeyProperty, Expression<Func<TForeignDocument, object>> foreignKeyProperty, Expression<Func<TNewResult, object>> resultArrayProperty)
Parameters
Type |
Name |
Description |
System.String |
foreignDocumentType |
Имя типа внешнего документа.
|
Expression<Func<TResult, System.Object>> |
localKeyProperty |
Свойство исходного документа, содержащее ключ для присоединения.
|
Expression<Func<TForeignDocument, System.Object>> |
foreignKeyProperty |
Свойство внешнего документа, содержащее ключ для присоединения.
|
Expression<Func<TNewResult, System.Object>> |
resultArrayProperty |
Свойство, в которое будет помещен массив присоединенных документов.
|
Returns
Type Parameters
Name |
Description |
TForeignDocument |
|
TNewResult |
|
|
Improve this Doc
View Source
Создает проекцию для отображения результата агрегации документов.
Declaration
IDocumentAggregateCursor<TNewResult> Project<TNewResult>(Expression<Func<TResult, TNewResult>> projection)
Parameters
Type |
Name |
Description |
Expression<Func<TResult, TNewResult>> |
projection |
Правило формирования проекции.
|
Returns
Type Parameters
Name |
Description |
TNewResult |
|
|
Improve this Doc
View Source
Пропускает указанное количество документов в результирующей выборке.
Declaration
IDocumentAggregateCursor<TResult> Skip(int skip)
Parameters
Type |
Name |
Description |
System.Int32 |
skip |
|
Returns
|
Improve this Doc
View Source
Сортирует документы по возрастанию указанного свойства.
Declaration
IDocumentAggregateSortedCursor<TResult> SortBy(Expression<Func<TResult, object>> property)
Parameters
Type |
Name |
Description |
Expression<Func<TResult, System.Object>> |
property |
|
Returns
|
Improve this Doc
View Source
Сортирует документы по убыванию указанного свойства.
Declaration
IDocumentAggregateSortedCursor<TResult> SortByDescending(Expression<Func<TResult, object>> property)
Parameters
Type |
Name |
Description |
Expression<Func<TResult, System.Object>> |
property |
|
Returns
|
Improve this Doc
View Source
Создает отдельный документ для каждого элемента массива, находящегося в указанном свойстве исходного документа.
Declaration
IDocumentAggregateCursor<TNewResult> Unwind<TNewResult>(Expression<Func<TResult, object>> arrayProperty)
Parameters
Type |
Name |
Description |
Expression<Func<TResult, System.Object>> |
arrayProperty |
Свойство документа, содержащее массив.
|
Returns
Type Parameters
Name |
Description |
TNewResult |
|
Extension Methods