IAggregateFluentExtensionsBucketTResult, TValue, TNewResult Method (IAggregateFluentTResult, ExpressionFuncTResult, TValue, IEnumerableTValue, ExpressionFuncIGroupingTValue, TResult, TNewResult, AggregateBucketOptionsTValue) (original) (raw)

Appends a $bucket stage to the pipeline.

Namespace: MongoDB.Driver
Assembly: MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.10.0+569905ff5e778c38ea19d9d0392496a83e1704ed

Syntax

public static IAggregateFluent Bucket<TResult, TValue, TNewResult>( this IAggregateFluent aggregate, Expression<Func<TResult, TValue>> groupBy, IEnumerable boundaries, Expression<Func<IGrouping<TValue, TResult>, TNewResult>> output, AggregateBucketOptions options = null )

Public Shared Function Bucket(Of TResult, TValue, TNewResult) ( aggregate As IAggregateFluent(Of TResult), groupBy As Expression(Of Func(Of TResult, TValue)), boundaries As IEnumerable(Of TValue), output As Expression(Of Func(Of IGrouping(Of TValue, TResult), TNewResult)), Optional options As AggregateBucketOptions(Of TValue) = Nothing ) As IAggregateFluent(Of TNewResult)

[] static member Bucket : aggregate : IAggregateFluent<'TResult> * groupBy : Expression<Func<'TResult, 'TValue>> * boundaries : IEnumerable<'TValue> * output : Expression<Func<IGrouping<'TValue, 'TResult>, 'TNewResult>> * ?options : AggregateBucketOptions<'TValue> (* Defaults: let _options = defaultArg options null *) -> IAggregateFluent<'TNewResult>

Parameters

aggregate

Type: MongoDB.DriverIAggregateFluentTResult
The aggregate.

groupBy

Type: System.Linq.ExpressionsExpressionFuncTResult, TValue
The expression providing the value to group by.

boundaries

Type: System.Collections.GenericIEnumerableTValue
The bucket boundaries.

output

Type: System.Linq.ExpressionsExpressionFuncIGroupingTValue, TResult, TNewResult
The output projection.

options (Optional)

Type: MongoDB.DriverAggregateBucketOptionsTValue
The options.

Type Parameters

TResult

The type of the result.

TValue

The type of the value.

TNewResult

The type of the new result.

Return Value

Type: IAggregateFluentTNewResult
The fluent aggregate interface.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type IAggregateFluentTResult. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

See Also

Reference