Table of Contents

Class PipelineDefinitionBuilder

Namespace
MongoDB.Driver
Assembly
MongoDB.Driver.dll
public static class PipelineDefinitionBuilder
Inheritance
PipelineDefinitionBuilder
Inherited Members

Methods

AppendStage<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, PipelineStageDefinition<TIntermediate, TOutput>, IBsonSerializer<TOutput>)

public static PipelineDefinition<TInput, TOutput> AppendStage<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, PipelineStageDefinition<TIntermediate, TOutput> stage, IBsonSerializer<TOutput> outputSerializer = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
stage PipelineStageDefinition<TIntermediate, TOutput>
outputSerializer IBsonSerializer<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

As<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, IBsonSerializer<TOutput>)

public static PipelineDefinition<TInput, TOutput> As<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IBsonSerializer<TOutput> outputSerializer = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
outputSerializer IBsonSerializer<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

BucketAuto<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TValue>, int, AggregateBucketAutoOptions)

public static PipelineDefinition<TInput, AggregateBucketAutoResult<TValue>> BucketAuto<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TValue> groupBy, int buckets, AggregateBucketAutoOptions options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy AggregateExpressionDefinition<TIntermediate, TValue>
buckets int
options AggregateBucketAutoOptions

Returns

PipelineDefinition<TInput, AggregateBucketAutoResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

BucketAuto<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TValue>>, int, AggregateBucketAutoOptions, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, AggregateBucketAutoResult<TValue>> BucketAuto<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TValue>> groupBy, int buckets, AggregateBucketAutoOptions options = null, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy Expression<Func<TIntermediate, TValue>>
buckets int
options AggregateBucketAutoOptions
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, AggregateBucketAutoResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

BucketAuto<TInput, TIntermediate, TValue, TOutput>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TValue>, int, ProjectionDefinition<TIntermediate, TOutput>, AggregateBucketAutoOptions)

public static PipelineDefinition<TInput, TOutput> BucketAuto<TInput, TIntermediate, TValue, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TValue> groupBy, int buckets, ProjectionDefinition<TIntermediate, TOutput> output, AggregateBucketAutoOptions options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy AggregateExpressionDefinition<TIntermediate, TValue>
buckets int
output ProjectionDefinition<TIntermediate, TOutput>
options AggregateBucketAutoOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TValue
TOutput

BucketAuto<TInput, TIntermediate, TValue, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TValue>>, int, Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>>, AggregateBucketAutoOptions, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> BucketAuto<TInput, TIntermediate, TValue, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TValue>> groupBy, int buckets, Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>> output, AggregateBucketAutoOptions options = null, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy Expression<Func<TIntermediate, TValue>>
buckets int
output Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>>
options AggregateBucketAutoOptions
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TValue
TOutput

Bucket<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TValue>, IEnumerable<TValue>, AggregateBucketOptions<TValue>)

public static PipelineDefinition<TInput, AggregateBucketResult<TValue>> Bucket<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TValue> groupBy, IEnumerable<TValue> boundaries, AggregateBucketOptions<TValue> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy AggregateExpressionDefinition<TIntermediate, TValue>
boundaries IEnumerable<TValue>
options AggregateBucketOptions<TValue>

Returns

PipelineDefinition<TInput, AggregateBucketResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

Bucket<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TValue>>, IEnumerable<TValue>, AggregateBucketOptions<TValue>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, AggregateBucketResult<TValue>> Bucket<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TValue>> groupBy, IEnumerable<TValue> boundaries, AggregateBucketOptions<TValue> options = null, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy Expression<Func<TIntermediate, TValue>>
boundaries IEnumerable<TValue>
options AggregateBucketOptions<TValue>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, AggregateBucketResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

Bucket<TInput, TIntermediate, TValue, TOutput>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TValue>, IEnumerable<TValue>, ProjectionDefinition<TIntermediate, TOutput>, AggregateBucketOptions<TValue>)

public static PipelineDefinition<TInput, TOutput> Bucket<TInput, TIntermediate, TValue, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TValue> groupBy, IEnumerable<TValue> boundaries, ProjectionDefinition<TIntermediate, TOutput> output, AggregateBucketOptions<TValue> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy AggregateExpressionDefinition<TIntermediate, TValue>
boundaries IEnumerable<TValue>
output ProjectionDefinition<TIntermediate, TOutput>
options AggregateBucketOptions<TValue>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TValue
TOutput

Bucket<TInput, TIntermediate, TValue, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TValue>>, IEnumerable<TValue>, Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>>, AggregateBucketOptions<TValue>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> Bucket<TInput, TIntermediate, TValue, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TValue>> groupBy, IEnumerable<TValue> boundaries, Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>> output, AggregateBucketOptions<TValue> options = null, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
groupBy Expression<Func<TIntermediate, TValue>>
boundaries IEnumerable<TValue>
output Expression<Func<IGrouping<TValue, TIntermediate>, TOutput>>
options AggregateBucketOptions<TValue>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TValue
TOutput

Count<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>)

public static PipelineDefinition<TInput, AggregateCountResult> Count<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>

Returns

PipelineDefinition<TInput, AggregateCountResult>

Type Parameters

TInput
TIntermediate

Facet<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, params AggregateFacet<TIntermediate>[])

public static PipelineDefinition<TInput, AggregateFacetResults> Facet<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, params AggregateFacet<TIntermediate>[] facets)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
facets AggregateFacet<TIntermediate>[]

Returns

PipelineDefinition<TInput, AggregateFacetResults>

Type Parameters

TInput
TIntermediate

Facet<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, IEnumerable<AggregateFacet<TIntermediate>>)

public static PipelineDefinition<TInput, AggregateFacetResults> Facet<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, IEnumerable<AggregateFacet<TIntermediate>> facets)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
facets IEnumerable<AggregateFacet<TIntermediate>>

Returns

PipelineDefinition<TInput, AggregateFacetResults>

Type Parameters

TInput
TIntermediate

Facet<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, params AggregateFacet<TIntermediate>[])

public static PipelineDefinition<TInput, TOutput> Facet<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, params AggregateFacet<TIntermediate>[] facets)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
facets AggregateFacet<TIntermediate>[]

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Facet<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, IEnumerable<AggregateFacet<TIntermediate>>, AggregateFacetOptions<TOutput>)

public static PipelineDefinition<TInput, TOutput> Facet<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IEnumerable<AggregateFacet<TIntermediate>> facets, AggregateFacetOptions<TOutput> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
facets IEnumerable<AggregateFacet<TIntermediate>>
options AggregateFacetOptions<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

For<TInput>(IBsonSerializer<TInput>)

public static PipelineDefinition<TInput, TInput> For<TInput>(IBsonSerializer<TInput> inputSerializer = null)

Parameters

inputSerializer IBsonSerializer<TInput>

Returns

PipelineDefinition<TInput, TInput>

Type Parameters

TInput

GraphLookup<TInput, TIntermediate, TFrom>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TFrom>, FieldDefinition<TFrom, BsonValue>, FieldDefinition<TFrom, BsonValue>, AggregateExpressionDefinition<TIntermediate, BsonValue>, FieldDefinition<BsonDocument, IEnumerable<BsonDocument>>, FieldDefinition<BsonDocument, int>)

public static PipelineDefinition<TInput, BsonDocument> GraphLookup<TInput, TIntermediate, TFrom>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TFrom> from, FieldDefinition<TFrom, BsonValue> connectFromField, FieldDefinition<TFrom, BsonValue> connectToField, AggregateExpressionDefinition<TIntermediate, BsonValue> startWith, FieldDefinition<BsonDocument, IEnumerable<BsonDocument>> @as, FieldDefinition<BsonDocument, int> depthField = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
from IMongoCollection<TFrom>
connectFromField FieldDefinition<TFrom, BsonValue>
connectToField FieldDefinition<TFrom, BsonValue>
startWith AggregateExpressionDefinition<TIntermediate, BsonValue>
as FieldDefinition<BsonDocument, IEnumerable<BsonDocument>>
depthField FieldDefinition<BsonDocument, int>

Returns

PipelineDefinition<TInput, BsonDocument>

Type Parameters

TInput
TIntermediate
TFrom

GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAs, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TFrom>, FieldDefinition<TFrom, TConnectFrom>, FieldDefinition<TFrom, TConnectTo>, AggregateExpressionDefinition<TIntermediate, TStartWith>, FieldDefinition<TOutput, TAs>, AggregateGraphLookupOptions<TFrom, TFrom, TOutput>)

public static PipelineDefinition<TInput, TOutput> GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAs, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TFrom> from, FieldDefinition<TFrom, TConnectFrom> connectFromField, FieldDefinition<TFrom, TConnectTo> connectToField, AggregateExpressionDefinition<TIntermediate, TStartWith> startWith, FieldDefinition<TOutput, TAs> @as, AggregateGraphLookupOptions<TFrom, TFrom, TOutput> options = null) where TAs : IEnumerable<TFrom>

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
from IMongoCollection<TFrom>
connectFromField FieldDefinition<TFrom, TConnectFrom>
connectToField FieldDefinition<TFrom, TConnectTo>
startWith AggregateExpressionDefinition<TIntermediate, TStartWith>
as FieldDefinition<TOutput, TAs>
options AggregateGraphLookupOptions<TFrom, TFrom, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TFrom
TConnectFrom
TConnectTo
TStartWith
TAs
TOutput

GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAs, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TFrom>, Expression<Func<TFrom, TConnectFrom>>, Expression<Func<TFrom, TConnectTo>>, Expression<Func<TIntermediate, TStartWith>>, Expression<Func<TOutput, TAs>>, AggregateGraphLookupOptions<TFrom, TFrom, TOutput>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAs, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TFrom> from, Expression<Func<TFrom, TConnectFrom>> connectFromField, Expression<Func<TFrom, TConnectTo>> connectToField, Expression<Func<TIntermediate, TStartWith>> startWith, Expression<Func<TOutput, TAs>> @as, AggregateGraphLookupOptions<TFrom, TFrom, TOutput> options = null, ExpressionTranslationOptions translationOptions = null) where TAs : IEnumerable<TFrom>

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
from IMongoCollection<TFrom>
connectFromField Expression<Func<TFrom, TConnectFrom>>
connectToField Expression<Func<TFrom, TConnectTo>>
startWith Expression<Func<TIntermediate, TStartWith>>
as Expression<Func<TOutput, TAs>>
options AggregateGraphLookupOptions<TFrom, TFrom, TOutput>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TFrom
TConnectFrom
TConnectTo
TStartWith
TAs
TOutput

GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TFrom>, FieldDefinition<TFrom, TConnectFrom>, FieldDefinition<TFrom, TConnectTo>, AggregateExpressionDefinition<TIntermediate, TStartWith>, FieldDefinition<TOutput, TAs>, FieldDefinition<TAsElement, int>, AggregateGraphLookupOptions<TFrom, TAsElement, TOutput>)

public static PipelineDefinition<TInput, TOutput> GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TFrom> from, FieldDefinition<TFrom, TConnectFrom> connectFromField, FieldDefinition<TFrom, TConnectTo> connectToField, AggregateExpressionDefinition<TIntermediate, TStartWith> startWith, FieldDefinition<TOutput, TAs> @as, FieldDefinition<TAsElement, int> depthField, AggregateGraphLookupOptions<TFrom, TAsElement, TOutput> options = null) where TAs : IEnumerable<TAsElement>

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
from IMongoCollection<TFrom>
connectFromField FieldDefinition<TFrom, TConnectFrom>
connectToField FieldDefinition<TFrom, TConnectTo>
startWith AggregateExpressionDefinition<TIntermediate, TStartWith>
as FieldDefinition<TOutput, TAs>
depthField FieldDefinition<TAsElement, int>
options AggregateGraphLookupOptions<TFrom, TAsElement, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TFrom
TConnectFrom
TConnectTo
TStartWith
TAsElement
TAs
TOutput

GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TFrom>, Expression<Func<TFrom, TConnectFrom>>, Expression<Func<TFrom, TConnectTo>>, Expression<Func<TIntermediate, TStartWith>>, Expression<Func<TOutput, TAs>>, Expression<Func<TAsElement, int>>, AggregateGraphLookupOptions<TFrom, TAsElement, TOutput>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> GraphLookup<TInput, TIntermediate, TFrom, TConnectFrom, TConnectTo, TStartWith, TAsElement, TAs, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TFrom> from, Expression<Func<TFrom, TConnectFrom>> connectFromField, Expression<Func<TFrom, TConnectTo>> connectToField, Expression<Func<TIntermediate, TStartWith>> startWith, Expression<Func<TOutput, TAs>> @as, Expression<Func<TAsElement, int>> depthField, AggregateGraphLookupOptions<TFrom, TAsElement, TOutput> options = null, ExpressionTranslationOptions translationOptions = null) where TAs : IEnumerable<TAsElement>

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
from IMongoCollection<TFrom>
connectFromField Expression<Func<TFrom, TConnectFrom>>
connectToField Expression<Func<TFrom, TConnectTo>>
startWith Expression<Func<TIntermediate, TStartWith>>
as Expression<Func<TOutput, TAs>>
depthField Expression<Func<TAsElement, int>>
options AggregateGraphLookupOptions<TFrom, TAsElement, TOutput>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TFrom
TConnectFrom
TConnectTo
TStartWith
TAsElement
TAs
TOutput

Group<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, ProjectionDefinition<TIntermediate, BsonDocument>)

public static PipelineDefinition<TInput, BsonDocument> Group<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, ProjectionDefinition<TIntermediate, BsonDocument> group)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
group ProjectionDefinition<TIntermediate, BsonDocument>

Returns

PipelineDefinition<TInput, BsonDocument>

Type Parameters

TInput
TIntermediate

Group<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, ProjectionDefinition<TIntermediate, TOutput>)

public static PipelineDefinition<TInput, TOutput> Group<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, ProjectionDefinition<TIntermediate, TOutput> group)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
group ProjectionDefinition<TIntermediate, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Group<TInput, TIntermediate, TKey, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TKey>>, Expression<Func<IGrouping<TKey, TIntermediate>, TOutput>>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> Group<TInput, TIntermediate, TKey, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TKey>> id, Expression<Func<IGrouping<TKey, TIntermediate>, TOutput>> group, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
id Expression<Func<TIntermediate, TKey>>
group Expression<Func<IGrouping<TKey, TIntermediate>, TOutput>>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TKey
TOutput

Limit<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, int)

public static PipelineDefinition<TInput, TOutput> Limit<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, int limit)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
limit int

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

Lookup<TInput, TIntermediate, TForeignDocument, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TForeignDocument>, FieldDefinition<TIntermediate>, FieldDefinition<TForeignDocument>, FieldDefinition<TOutput>, AggregateLookupOptions<TForeignDocument, TOutput>)

public static PipelineDefinition<TInput, TOutput> Lookup<TInput, TIntermediate, TForeignDocument, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TForeignDocument> foreignCollection, FieldDefinition<TIntermediate> localField, FieldDefinition<TForeignDocument> foreignField, FieldDefinition<TOutput> @as, AggregateLookupOptions<TForeignDocument, TOutput> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
foreignCollection IMongoCollection<TForeignDocument>
localField FieldDefinition<TIntermediate>
foreignField FieldDefinition<TForeignDocument>
as FieldDefinition<TOutput>
options AggregateLookupOptions<TForeignDocument, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TForeignDocument
TOutput

Lookup<TInput, TIntermediate, TForeignDocument, TOutput>(PipelineDefinition<TInput, TIntermediate>, IMongoCollection<TForeignDocument>, Expression<Func<TIntermediate, object>>, Expression<Func<TForeignDocument, object>>, Expression<Func<TOutput, object>>, AggregateLookupOptions<TForeignDocument, TOutput>)

public static PipelineDefinition<TInput, TOutput> Lookup<TInput, TIntermediate, TForeignDocument, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IMongoCollection<TForeignDocument> foreignCollection, Expression<Func<TIntermediate, object>> localField, Expression<Func<TForeignDocument, object>> foreignField, Expression<Func<TOutput, object>> @as, AggregateLookupOptions<TForeignDocument, TOutput> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
foreignCollection IMongoCollection<TForeignDocument>
localField Expression<Func<TIntermediate, object>>
foreignField Expression<Func<TForeignDocument, object>>
as Expression<Func<TOutput, object>>
options AggregateLookupOptions<TForeignDocument, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TForeignDocument
TOutput

Match<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, FilterDefinition<TOutput>)

public static PipelineDefinition<TInput, TOutput> Match<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, FilterDefinition<TOutput> filter)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
filter FilterDefinition<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

Match<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, Expression<Func<TOutput, bool>>)

public static PipelineDefinition<TInput, TOutput> Match<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, Expression<Func<TOutput, bool>> filter)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
filter Expression<Func<TOutput, bool>>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

OfType<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, IBsonSerializer<TOutput>)

public static PipelineDefinition<TInput, TOutput> OfType<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, IBsonSerializer<TOutput> outputSerializer = null) where TOutput : TIntermediate

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
outputSerializer IBsonSerializer<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Out<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, IMongoCollection<TOutput>)

public static PipelineDefinition<TInput, TOutput> Out<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, IMongoCollection<TOutput> outputCollection)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
outputCollection IMongoCollection<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

Project<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, ProjectionDefinition<TIntermediate, BsonDocument>)

public static PipelineDefinition<TInput, BsonDocument> Project<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, ProjectionDefinition<TIntermediate, BsonDocument> projection)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
projection ProjectionDefinition<TIntermediate, BsonDocument>

Returns

PipelineDefinition<TInput, BsonDocument>

Type Parameters

TInput
TIntermediate

Project<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, ProjectionDefinition<TIntermediate, TOutput>)

public static PipelineDefinition<TInput, TOutput> Project<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, ProjectionDefinition<TIntermediate, TOutput> projection)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
projection ProjectionDefinition<TIntermediate, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Project<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TOutput>>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> Project<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TOutput>> projection, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
projection Expression<Func<TIntermediate, TOutput>>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

ReplaceRoot<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TOutput>)

public static PipelineDefinition<TInput, TOutput> ReplaceRoot<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TOutput> newRoot)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
newRoot AggregateExpressionDefinition<TIntermediate, TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

ReplaceRoot<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TOutput>>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, TOutput> ReplaceRoot<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TOutput>> newRoot, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
newRoot Expression<Func<TIntermediate, TOutput>>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Skip<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, int)

public static PipelineDefinition<TInput, TOutput> Skip<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, int skip)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
skip int

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

SortByCount<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, AggregateExpressionDefinition<TIntermediate, TValue>)

public static PipelineDefinition<TInput, AggregateSortByCountResult<TValue>> SortByCount<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, AggregateExpressionDefinition<TIntermediate, TValue> value)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
value AggregateExpressionDefinition<TIntermediate, TValue>

Returns

PipelineDefinition<TInput, AggregateSortByCountResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

SortByCount<TInput, TIntermediate, TValue>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, TValue>>, ExpressionTranslationOptions)

public static PipelineDefinition<TInput, AggregateSortByCountResult<TValue>> SortByCount<TInput, TIntermediate, TValue>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, TValue>> value, ExpressionTranslationOptions translationOptions = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
value Expression<Func<TIntermediate, TValue>>
translationOptions ExpressionTranslationOptions

Returns

PipelineDefinition<TInput, AggregateSortByCountResult<TValue>>

Type Parameters

TInput
TIntermediate
TValue

Sort<TInput, TOutput>(PipelineDefinition<TInput, TOutput>, SortDefinition<TOutput>)

public static PipelineDefinition<TInput, TOutput> Sort<TInput, TOutput>(this PipelineDefinition<TInput, TOutput> pipeline, SortDefinition<TOutput> sort)

Parameters

pipeline PipelineDefinition<TInput, TOutput>
sort SortDefinition<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TOutput

Unwind<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, FieldDefinition<TIntermediate>, AggregateUnwindOptions<BsonDocument>)

public static PipelineDefinition<TInput, BsonDocument> Unwind<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, FieldDefinition<TIntermediate> field, AggregateUnwindOptions<BsonDocument> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
field FieldDefinition<TIntermediate>
options AggregateUnwindOptions<BsonDocument>

Returns

PipelineDefinition<TInput, BsonDocument>

Type Parameters

TInput
TIntermediate

Unwind<TInput, TIntermediate>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, object>>, AggregateUnwindOptions<BsonDocument>)

public static PipelineDefinition<TInput, BsonDocument> Unwind<TInput, TIntermediate>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, object>> field, AggregateUnwindOptions<BsonDocument> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
field Expression<Func<TIntermediate, object>>
options AggregateUnwindOptions<BsonDocument>

Returns

PipelineDefinition<TInput, BsonDocument>

Type Parameters

TInput
TIntermediate

Unwind<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, FieldDefinition<TIntermediate>, AggregateUnwindOptions<TOutput>)

public static PipelineDefinition<TInput, TOutput> Unwind<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, FieldDefinition<TIntermediate> field, AggregateUnwindOptions<TOutput> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
field FieldDefinition<TIntermediate>
options AggregateUnwindOptions<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput

Unwind<TInput, TIntermediate, TOutput>(PipelineDefinition<TInput, TIntermediate>, Expression<Func<TIntermediate, object>>, AggregateUnwindOptions<TOutput>)

public static PipelineDefinition<TInput, TOutput> Unwind<TInput, TIntermediate, TOutput>(this PipelineDefinition<TInput, TIntermediate> pipeline, Expression<Func<TIntermediate, object>> field, AggregateUnwindOptions<TOutput> options = null)

Parameters

pipeline PipelineDefinition<TInput, TIntermediate>
field Expression<Func<TIntermediate, object>>
options AggregateUnwindOptions<TOutput>

Returns

PipelineDefinition<TInput, TOutput>

Type Parameters

TInput
TIntermediate
TOutput