Table of Contents

Class AggregateFluentBase<TResult>

Namespace
MongoDB.Driver
Assembly
MongoDB.Driver.dll
public abstract class AggregateFluentBase<TResult> : IOrderedAggregateFluent<TResult>, IAggregateFluent<TResult>, IAsyncCursorSource<TResult>

Type Parameters

TResult
Inheritance
AggregateFluentBase<TResult>
Implements
IAsyncCursorSource<TResult>
Inherited Members

Constructors

AggregateFluentBase()

protected AggregateFluentBase()

Properties

Database

public virtual IMongoDatabase Database { get; }

Property Value

IMongoDatabase

Options

public abstract AggregateOptions Options { get; }

Property Value

AggregateOptions

Stages

public abstract IList<IPipelineStageDefinition> Stages { get; }

Property Value

IList<IPipelineStageDefinition>

Methods

AppendStage<TNewResult>(PipelineStageDefinition<TResult, TNewResult>)

public abstract IAggregateFluent<TNewResult> AppendStage<TNewResult>(PipelineStageDefinition<TResult, TNewResult> stage)

Parameters

stage PipelineStageDefinition<TResult, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

As<TNewResult>(IBsonSerializer<TNewResult>)

public abstract IAggregateFluent<TNewResult> As<TNewResult>(IBsonSerializer<TNewResult> newResultSerializer)

Parameters

newResultSerializer IBsonSerializer<TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

BucketAuto<TValue>(AggregateExpressionDefinition<TResult, TValue>, int, AggregateBucketAutoOptions)

public virtual IAggregateFluent<AggregateBucketAutoResult<TValue>> BucketAuto<TValue>(AggregateExpressionDefinition<TResult, TValue> groupBy, int buckets, AggregateBucketAutoOptions options = null)

Parameters

groupBy AggregateExpressionDefinition<TResult, TValue>
buckets int
options AggregateBucketAutoOptions

Returns

IAggregateFluent<AggregateBucketAutoResult<TValue>>

Type Parameters

TValue

BucketAuto<TValue, TNewResult>(AggregateExpressionDefinition<TResult, TValue>, int, ProjectionDefinition<TResult, TNewResult>, AggregateBucketAutoOptions)

public virtual IAggregateFluent<TNewResult> BucketAuto<TValue, TNewResult>(AggregateExpressionDefinition<TResult, TValue> groupBy, int buckets, ProjectionDefinition<TResult, TNewResult> output, AggregateBucketAutoOptions options = null)

Parameters

groupBy AggregateExpressionDefinition<TResult, TValue>
buckets int
output ProjectionDefinition<TResult, TNewResult>
options AggregateBucketAutoOptions

Returns

IAggregateFluent<TNewResult>

Type Parameters

TValue
TNewResult

Bucket<TValue>(AggregateExpressionDefinition<TResult, TValue>, IEnumerable<TValue>, AggregateBucketOptions<TValue>)

public virtual IAggregateFluent<AggregateBucketResult<TValue>> Bucket<TValue>(AggregateExpressionDefinition<TResult, TValue> groupBy, IEnumerable<TValue> boundaries, AggregateBucketOptions<TValue> options = null)

Parameters

groupBy AggregateExpressionDefinition<TResult, TValue>
boundaries IEnumerable<TValue>
options AggregateBucketOptions<TValue>

Returns

IAggregateFluent<AggregateBucketResult<TValue>>

Type Parameters

TValue

Bucket<TValue, TNewResult>(AggregateExpressionDefinition<TResult, TValue>, IEnumerable<TValue>, ProjectionDefinition<TResult, TNewResult>, AggregateBucketOptions<TValue>)

public virtual IAggregateFluent<TNewResult> Bucket<TValue, TNewResult>(AggregateExpressionDefinition<TResult, TValue> groupBy, IEnumerable<TValue> boundaries, ProjectionDefinition<TResult, TNewResult> output, AggregateBucketOptions<TValue> options = null)

Parameters

groupBy AggregateExpressionDefinition<TResult, TValue>
boundaries IEnumerable<TValue>
output ProjectionDefinition<TResult, TNewResult>
options AggregateBucketOptions<TValue>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TValue
TNewResult

Count()

public virtual IAggregateFluent<AggregateCountResult> Count()

Returns

IAggregateFluent<AggregateCountResult>

Facet<TNewResult>(IEnumerable<AggregateFacet<TResult>>, AggregateFacetOptions<TNewResult>)

public virtual IAggregateFluent<TNewResult> Facet<TNewResult>(IEnumerable<AggregateFacet<TResult>> facets, AggregateFacetOptions<TNewResult> options = null)

Parameters

facets IEnumerable<AggregateFacet<TResult>>
options AggregateFacetOptions<TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

GraphLookup<TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TNewResult>(IMongoCollection<TFrom>, FieldDefinition<TFrom, TConnectFrom>, FieldDefinition<TFrom, TConnectTo>, AggregateExpressionDefinition<TResult, TStartWith>, FieldDefinition<TNewResult, TAs>, FieldDefinition<TAsElement, int>, AggregateGraphLookupOptions<TFrom, TAsElement, TNewResult>)

public virtual IAggregateFluent<TNewResult> GraphLookup<TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TNewResult>(IMongoCollection<TFrom> from, FieldDefinition<TFrom, TConnectFrom> connectFromField, FieldDefinition<TFrom, TConnectTo> connectToField, AggregateExpressionDefinition<TResult, TStartWith> startWith, FieldDefinition<TNewResult, TAs> @as, FieldDefinition<TAsElement, int> depthField, AggregateGraphLookupOptions<TFrom, TAsElement, TNewResult> options = null) where TAs : IEnumerable<TAsElement>

Parameters

from IMongoCollection<TFrom>
connectFromField FieldDefinition<TFrom, TConnectFrom>
connectToField FieldDefinition<TFrom, TConnectTo>
startWith AggregateExpressionDefinition<TResult, TStartWith>
as FieldDefinition<TNewResult, TAs>
depthField FieldDefinition<TAsElement, int>
options AggregateGraphLookupOptions<TFrom, TAsElement, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TFrom
TConnectFrom
TConnectTo
TStartWith
TAsElement
TAs
TNewResult

Group<TNewResult>(ProjectionDefinition<TResult, TNewResult>)

public abstract IAggregateFluent<TNewResult> Group<TNewResult>(ProjectionDefinition<TResult, TNewResult> group)

Parameters

group ProjectionDefinition<TResult, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

Limit(int)

public abstract IAggregateFluent<TResult> Limit(int limit)

Parameters

limit int

Returns

IAggregateFluent<TResult>

Lookup<TForeignDocument, TNewResult>(string, FieldDefinition<TResult>, FieldDefinition<TForeignDocument>, FieldDefinition<TNewResult>, AggregateLookupOptions<TForeignDocument, TNewResult>)

public virtual IAggregateFluent<TNewResult> Lookup<TForeignDocument, TNewResult>(string foreignCollectionName, FieldDefinition<TResult> localField, FieldDefinition<TForeignDocument> foreignField, FieldDefinition<TNewResult> @as, AggregateLookupOptions<TForeignDocument, TNewResult> options)

Parameters

foreignCollectionName string
localField FieldDefinition<TResult>
foreignField FieldDefinition<TForeignDocument>
as FieldDefinition<TNewResult>
options AggregateLookupOptions<TForeignDocument, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TForeignDocument
TNewResult

Match(FilterDefinition<TResult>)

public abstract IAggregateFluent<TResult> Match(FilterDefinition<TResult> filter)

Parameters

filter FilterDefinition<TResult>

Returns

IAggregateFluent<TResult>

OfType<TNewResult>(IBsonSerializer<TNewResult>)

public abstract IAggregateFluent<TNewResult> OfType<TNewResult>(IBsonSerializer<TNewResult> newResultSerializer) where TNewResult : TResult

Parameters

newResultSerializer IBsonSerializer<TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

Out(string, CancellationToken)

public virtual IAsyncCursor<TResult> Out(string collectionName, CancellationToken cancellationToken)

Parameters

collectionName string
cancellationToken CancellationToken

Returns

IAsyncCursor<TResult>

OutAsync(string, CancellationToken)

public abstract Task<IAsyncCursor<TResult>> OutAsync(string collectionName, CancellationToken cancellationToken)

Parameters

collectionName string
cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TResult>>

Project<TNewResult>(ProjectionDefinition<TResult, TNewResult>)

public abstract IAggregateFluent<TNewResult> Project<TNewResult>(ProjectionDefinition<TResult, TNewResult> projection)

Parameters

projection ProjectionDefinition<TResult, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

ReplaceRoot<TNewResult>(AggregateExpressionDefinition<TResult, TNewResult>)

public virtual IAggregateFluent<TNewResult> ReplaceRoot<TNewResult>(AggregateExpressionDefinition<TResult, TNewResult> newRoot)

Parameters

newRoot AggregateExpressionDefinition<TResult, TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

Skip(int)

public abstract IAggregateFluent<TResult> Skip(int skip)

Parameters

skip int

Returns

IAggregateFluent<TResult>

Sort(SortDefinition<TResult>)

public abstract IAggregateFluent<TResult> Sort(SortDefinition<TResult> sort)

Parameters

sort SortDefinition<TResult>

Returns

IAggregateFluent<TResult>

SortByCount<TId>(AggregateExpressionDefinition<TResult, TId>)

public virtual IAggregateFluent<AggregateSortByCountResult<TId>> SortByCount<TId>(AggregateExpressionDefinition<TResult, TId> id)

Parameters

id AggregateExpressionDefinition<TResult, TId>

Returns

IAggregateFluent<AggregateSortByCountResult<TId>>

Type Parameters

TId

ThenBy(SortDefinition<TResult>)

public virtual IOrderedAggregateFluent<TResult> ThenBy(SortDefinition<TResult> newSort)

Parameters

newSort SortDefinition<TResult>

Returns

IOrderedAggregateFluent<TResult>

ToCursor(CancellationToken)

public virtual IAsyncCursor<TResult> ToCursor(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

IAsyncCursor<TResult>

ToCursorAsync(CancellationToken)

public abstract Task<IAsyncCursor<TResult>> ToCursorAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<IAsyncCursor<TResult>>

Unwind<TNewResult>(FieldDefinition<TResult>, IBsonSerializer<TNewResult>)

public abstract IAggregateFluent<TNewResult> Unwind<TNewResult>(FieldDefinition<TResult> field, IBsonSerializer<TNewResult> newResultSerializer)

Parameters

field FieldDefinition<TResult>
newResultSerializer IBsonSerializer<TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult

Unwind<TNewResult>(FieldDefinition<TResult>, AggregateUnwindOptions<TNewResult>)

public virtual IAggregateFluent<TNewResult> Unwind<TNewResult>(FieldDefinition<TResult> field, AggregateUnwindOptions<TNewResult> options)

Parameters

field FieldDefinition<TResult>
options AggregateUnwindOptions<TNewResult>

Returns

IAggregateFluent<TNewResult>

Type Parameters

TNewResult