IAggregateFluentExtensionsBucketTResult, TValue, TNewResult Method (IAggregateFluentTResult, ExpressionFuncTResult, TValue, IEnumerableTValue, ExpressionFuncIGroupingTValue, TResult, TNewResult, AggregateBucketOptionsTValue) |
Appends a $bucket stage to the pipeline.
Namespace:
MongoDB.Driver
Assembly:
MongoDB.Driver (in MongoDB.Driver.dll) Version: 2.21.0+5a9c3311e158910b88195f290e6d4b1b2715d2b2
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
)
<ExtensionAttribute>
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)
[<ExtensionAttribute>]
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:
IAggregateFluentTNewResultThe 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