public static class ScriptOperators.Accumulator extends Object
ScriptOperators.Accumulator
defines a custom aggregation
$accumulator operator,
one that maintains its state (e.g. totals, maximums, minimums, and related data) as documents progress through the
pipeline, in JavaScript.
{
$accumulator: {
init: ...,
intArgs: ...,
accumulate: ...,
accumulateArgs: ...,
merge: ...,
finalize: ...,
lang: "js"
}
}
ScriptOperators.Accumulator
can be used as part of $group
, $bucket
and
$bucketAuto
pipeline stages. Modifier and Type | Class and Description |
---|---|
protected static class |
AbstractAggregationExpression.Expand
Expand a nested list of values to single entries or keep the list.
|
static interface |
ScriptOperators.Accumulator.AccumulatorAccumulateArgsBuilder |
static interface |
ScriptOperators.Accumulator.AccumulatorAccumulateBuilder |
static interface |
ScriptOperators.Accumulator.AccumulatorFinalizeBuilder |
static interface |
ScriptOperators.Accumulator.AccumulatorInitArgsBuilder |
static interface |
ScriptOperators.Accumulator.AccumulatorInitBuilder |
static interface |
ScriptOperators.Accumulator.AccumulatorMergeBuilder |
Modifier and Type | Method and Description |
---|---|
protected List<Object> |
append(Object value) |
protected List<Object> |
append(Object value,
AbstractAggregationExpression.Expand expandList) |
protected Map<String,Object> |
append(String key,
Object value) |
protected Map<String,Object> |
appendAt(int index,
String key,
Object value)
Append the given key at the position in the underlying
LinkedHashMap . |
protected Map<String,Object> |
argumentMap()
Get the argument map.
|
protected static List<Field> |
asFields(String... fieldRefs) |
protected boolean |
contains(Object key)
Check if the given key is available.
|
protected <T> T |
get(int index)
Get the value at a given index.
|
protected <T> T |
get(Object key)
Get the value for a given key.
|
protected String |
getMongoMethod() |
protected Map<String,Object> |
remove(String key) |
org.bson.Document |
toDocument(AggregationOperationContext context)
|
org.bson.Document |
toDocument(Object value,
AggregationOperationContext context) |
protected List<Object> |
values() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
from, toDocument
create, create
protected String getMongoMethod()
public org.bson.Document toDocument(AggregationOperationContext context)
AggregationExpression
toDocument
in interface AggregationExpression
context
- must not be null.Document
) form of the expression.public org.bson.Document toDocument(Object value, AggregationOperationContext context)
protected List<Object> append(Object value, AbstractAggregationExpression.Expand expandList)
protected Map<String,Object> appendAt(int index, String key, Object value)
LinkedHashMap
.index
- key
- value
- protected <T> T get(int index)
T
- index
- protected <T> T get(Object key)
T
- key
- protected boolean contains(Object key)
key
- Copyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.