Class ScriptOperators.Accumulator
java.lang.Object
org.springframework.data.mongodb.core.aggregation.ScriptOperators.Accumulator
- All Implemented Interfaces:
AggregationExpression
,MongoExpression
- Enclosing class:
- ScriptOperators
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. NOTE: Server-Side JavaScript execution must be enabled
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
static interface
static interface
static interface
static interface
static interface
-
Method Summary
Modifier and TypeMethodDescriptionappend
(Object value, org.springframework.data.mongodb.core.aggregation.AbstractAggregationExpression.Expand expandList) Append the given key at the position in the underlyingLinkedHashMap
.Get the argument map.protected boolean
Check if the given key is available.protected <T> T
get
(int index) Get the value at a given index.protected <T> T
Get the value for a given key.protected String
protected boolean
org.bson.Document
toDocument
(Object value, AggregationOperationContext context) org.bson.Document
toDocument
(AggregationOperationContext context) values()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.data.mongodb.core.aggregation.AggregationExpression
toDocument
-
Method Details
-
getMongoMethod
-
toDocument
Description copied from interface:AggregationExpression
- Specified by:
toDocument
in interfaceAggregationExpression
- Parameters:
context
- must not be null.- Returns:
- the MongoDB native (
Document
) form of the expression.
-
toDocument
-
asFields
-
append
-
append
-
append
-
appendTo
-
remove
-
appendAt
Append the given key at the position in the underlyingLinkedHashMap
.- Parameters:
index
-key
-value
-- Returns:
- Since:
- 3.1
-
values
-
get
protected <T> T get(int index) Get the value at a given index.- Type Parameters:
T
-- Parameters:
index
-- Returns:
- Since:
- 2.1
-
get
Get the value for a given key.- Type Parameters:
T
-- Parameters:
key
-- Returns:
- Since:
- 2.1
-
isArgumentMap
protected boolean isArgumentMap() -
argumentMap
Get the argument map.- Returns:
- Since:
- 2.1
-
contains
Check if the given key is available.- Parameters:
key
-- Returns:
- Since:
- 2.1
-