Click or drag to resize

IAggregateFluentExtensions.Bucket<TResult, TValue, TNewResult> Method (IAggregateFluent<TResult>, Expression<Func<TResult, TValue>>, IEnumerable<TValue>, Expression<Func<IGrouping<TValue, TResult>, TNewResult>>, AggregateBucketOptions<TValue>)

Appends a $bucket stage to the pipeline.

Namespace:  MongoDB.Driver
Assembly:  MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.20.0+ee01960089f28ea1b501690df5fc9f6318a70242
Syntax
public static IAggregateFluent<TNewResult> Bucket<TResult, TValue, TNewResult>(
	this IAggregateFluent<TResult> aggregate,
	Expression<Func<TResult, TValue>> groupBy,
	IEnumerable<TValue> boundaries,
	Expression<Func<IGrouping<TValue, TResult>, TNewResult>> output,
	AggregateBucketOptions<TValue> options = null
)

Parameters

aggregate
Type: MongoDB.Driver.IAggregateFluent<TResult>
The aggregate.
groupBy
Type: System.Linq.Expressions.Expression<Func<TResult, TValue>>
The expression providing the value to group by.
boundaries
Type: System.Collections.Generic.IEnumerable<TValue>
The bucket boundaries.
output
Type: System.Linq.Expressions.Expression<Func<IGrouping<TValue, TResult>, TNewResult>>
The output projection.
options (Optional)
Type: MongoDB.Driver.AggregateBucketOptions<TValue>
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: IAggregateFluent<TNewResult>
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 IAggregateFluent<TResult>. 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