public class BucketAutoOperation extends BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder> implements FieldsExposingAggregationOperation
$bucketAuto
-operation. Aggregation
and $facet
. Categorizes incoming documents into a
specific number of groups, called buckets, based on a specified expression. Bucket boundaries are automatically
determined in an attempt to evenly distribute the documents into the specified number of buckets. Aggregation.bucketAuto(String, int)
instead of creating
instances of this class directly.BucketOperationSupport
Modifier and Type | Class and Description |
---|---|
static class |
BucketAutoOperation.BucketAutoOperationOutputBuilder
BucketOperationSupport.OutputBuilder implementation for BucketAutoOperation . |
static class |
BucketAutoOperation.ExpressionBucketAutoOperationBuilder
ExpressionBucketOperationBuilderSupport implementation for BucketAutoOperation using SpEL
expression based Output . |
static class |
BucketAutoOperation.Granularities
Supported MongoDB granularities.
|
static interface |
BucketAutoOperation.Granularity |
BucketOperationSupport.ExpressionBucketOperationBuilderSupport<B extends BucketOperationSupport.OutputBuilder<B,T>,T extends BucketOperationSupport<T,B>>, BucketOperationSupport.OperationOutput, BucketOperationSupport.Output, BucketOperationSupport.OutputBuilder<B extends BucketOperationSupport.OutputBuilder<B,T>,T extends BucketOperationSupport<T,B>>, BucketOperationSupport.Outputs
FieldsExposingAggregationOperation.InheritsFieldsAggregationOperation
Constructor and Description |
---|
BucketAutoOperation(AggregationExpression groupByExpression,
int buckets)
Creates a new
BucketAutoOperation given a group-by expression . |
BucketAutoOperation(Field groupByField,
int buckets)
Creates a new
BucketAutoOperation given a group-by field . |
Modifier and Type | Method and Description |
---|---|
BucketAutoOperation.BucketAutoOperationOutputBuilder |
andOutput(AggregationExpression expression)
Creates a new
BucketOperationSupport given an AggregationExpression to add an output field to the
resulting bucket documents. |
BucketAutoOperation.BucketAutoOperationOutputBuilder |
andOutput(String fieldName)
Creates a new
BucketOperationSupport given fieldName to add an output field to the resulting
bucket documents. |
BucketAutoOperation.ExpressionBucketAutoOperationBuilder |
andOutputExpression(String expression,
Object... params)
Creates a new
BucketOperationSupport.ExpressionBucketOperationBuilderSupport given a SpEL expression and optional
params to add an output field to the resulting bucket documents. |
String |
getOperator()
Return the MongoDB operator that is used for this
AggregationOperation . |
protected BucketAutoOperation |
newBucketOperation(BucketOperationSupport.Outputs outputs)
Implementation hook to create a new bucket operation.
|
org.bson.Document |
toDocument(AggregationOperationContext context)
|
BucketAutoOperation |
withBuckets(int buckets)
Configures a number of bucket buckets and return a new
BucketAutoOperation . |
BucketAutoOperation |
withGranularity(BucketAutoOperation.Granularity granularity)
Configures
granularity that specifies the preferred number series to use to ensure that the
calculated boundary edges end on preferred round numbers or their powers of 10 and return a new
BucketAutoOperation . |
andOutput, andOutputCount, getFields
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFields, inheritsFields
toPipelineStages
public BucketAutoOperation(Field groupByField, int buckets)
BucketAutoOperation
given a group-by field
.groupByField
- must not be null.buckets
- number of buckets, must be a positive integer.public BucketAutoOperation(AggregationExpression groupByExpression, int buckets)
BucketAutoOperation
given a group-by expression
.groupByExpression
- must not be null.buckets
- number of buckets, must be a positive integer.public org.bson.Document toDocument(AggregationOperationContext context)
AggregationOperation
toDocument
in interface AggregationOperation
toDocument
in class BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder>
context
- the AggregationOperationContext
to operate within. Must not be null.public String getOperator()
AggregationOperation
AggregationOperation
. Aggregation operations should
implement this method to avoid document rendering.getOperator
in interface AggregationOperation
AggregationOperation
.public BucketAutoOperation withBuckets(int buckets)
BucketAutoOperation
.buckets
- must be a positive number.BucketAutoOperation
.public BucketAutoOperation withGranularity(BucketAutoOperation.Granularity granularity)
granularity
that specifies the preferred number series to use to ensure that the
calculated boundary edges end on preferred round numbers or their powers of 10 and return a new
BucketAutoOperation
. BucketAutoOperation.Granularities
or provide a own one.granularity
- must not be null.BucketAutoOperation
.protected BucketAutoOperation newBucketOperation(BucketOperationSupport.Outputs outputs)
BucketOperationSupport
newBucketOperation
in class BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder>
outputs
- the outputspublic BucketAutoOperation.ExpressionBucketAutoOperationBuilder andOutputExpression(String expression, Object... params)
BucketOperationSupport
BucketOperationSupport.ExpressionBucketOperationBuilderSupport
given a SpEL expression and optional
params to add an output field to the resulting bucket documents.andOutputExpression
in class BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder>
expression
- the SpEL expression, must not be null or empty.params
- must not be nullBucketOperationSupport.ExpressionBucketOperationBuilderSupport
to create BucketOperation
.public BucketAutoOperation.BucketAutoOperationOutputBuilder andOutput(AggregationExpression expression)
BucketOperationSupport
BucketOperationSupport
given an AggregationExpression
to add an output field to the
resulting bucket documents.andOutput
in class BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder>
expression
- the SpEL expression, must not be null or empty.public BucketAutoOperation.BucketAutoOperationOutputBuilder andOutput(String fieldName)
BucketOperationSupport
BucketOperationSupport
given fieldName to add an output field to the resulting
bucket documents. BucketOperationSupport
exposes accumulation operations that can be applied to
fieldName.andOutput
in class BucketOperationSupport<BucketAutoOperation,BucketAutoOperation.BucketAutoOperationOutputBuilder>
fieldName
- must not be null or empty.Copyright © 2011–2022 Pivotal Software, Inc.. All rights reserved.