Class AccumulatorExpressions
java.lang.Object
dev.morphia.aggregation.expressions.AccumulatorExpressions
Defines helper methods for accumulator expressions
- Since:
- 2.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic AccumulatorExpression
accumulator
(String initFunction, String accumulateFunction, List<Object> accumulateArgs, String mergeFunction) Returns an array of unique expression values for each group.static Expression
Returns an array of unique expression values for each group.static Expression
Returns an average of numerical values.static Expression
Returns the bottom element within a group according to the specified sort order.static Expression
Returns an aggregation of the bottom n elements within a group, according to the specified sort order.static Expression
count()
Returns the number of documents in a group.static Expression
Returns a value from the first document for each group.static Expression
Returns an aggregation of the first n elements within a group.static Expression
Defines a custom aggregation function or expression in JavaScript.static Expression
Returns a value from the last document for each group.static Expression
Returns an aggregation of the last n elements within a group.static Expression
Returns the highest expression value for each group.static Expression
Returns an aggregation of the max n elements within a group.static Expression
Returns the lowest expression value for each group.static Expression
Returns an aggregation of the min n elements within a group.static Push
push()
Returns an array of all values that result from applying an expression to each document in a group of documents that share the same group by key.static Expression
Returns an array of expression values for each group.static Expression
Calculates and returns the sum of numeric values.static Expression
Returns the top element within a group according to the specified sort order.static Expression
Returns an aggregation of the top n elements within a group, according to the specified sort order.
-
Method Details
-
accumulator
public static AccumulatorExpression accumulator(String initFunction, String accumulateFunction, List<Object> accumulateArgs, String mergeFunction) Returns an array of unique expression values for each group. Order of the array elements is undefined.- Parameters:
initFunction
- used to initialize the state. The init function receives its arguments from the initArgs expression.accumulateFunction
- used to accumulate documents. The accumulate function receives its arguments from the current state and accumulateArgs array expression.accumulateArgs
- Arguments passed to the accumulate function.mergeFunction
- used to merge two internal states.- Returns:
- the new expression
- Since:
- 2.1
- Since server release
- 4.4
- MongoDB documentation
- Aggregration Expression: $accumulator
-
addToSet
Returns an array of unique expression values for each group. Order of the array elements is undefined.- Parameters:
value
- the value- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $addToSet
-
avg
Returns an average of numerical values. Ignores non-numeric values.- Parameters:
value
- the valueadditional
- any subsequent expressions to include in the expression- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $avg
-
bottom
Returns the bottom element within a group according to the specified sort order.- Parameters:
output
- the expression listing the fields to usesortBy
- the sort order- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $bottom
-
bottomN
Returns an aggregation of the bottom n elements within a group, according to the specified sort order. If the group contains fewer than n elements, $bottomN returns all elements in the group.- Parameters:
n
- the number of results per group and has to be a positive integral expression that is either a constant or depends on the _id value for $groupoutput
- the expression listing the fields to usesortBy
- the sort order- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $bottomN
-
count
Returns the number of documents in a group.- Returns:
- the expression
- Since:
- 3.0
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $count
-
first
Returns a value from the first document for each group. Order is only defined if the documents are in a defined order.- Parameters:
value
- the value- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $first
-
firstN
Returns an aggregation of the first n elements within a group. The elements returned are meaningful only if in a specified sort order. If the group contains fewer than n elements, $firstN returns all elements in the group.- Parameters:
n
- the number of results per group and has to be a positive integral expression that is either a constant or depends on the _id value for $groupinput
- the expression listing the fields to use- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $firstN
-
function
Defines a custom aggregation function or expression in JavaScript.- Parameters:
body
- the function bodyargs
- the function arguments- Returns:
- the new expression
- Since:
- 2.1
- Since server release
- 4.4
- MongoDB documentation
- Aggregration Expression: $function
-
last
Returns a value from the last document for each group. Order is only defined if the documents are in a defined order.- Parameters:
value
- the value- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $last
-
lastN
Returns an aggregation of the last n elements within a group. The elements returned are meaningful only if in a specified sort order. If the group contains fewer than n elements, $lastN returns all elements in the group.- Parameters:
n
- the number of results per group and has to be a positive integral expression that is either a constant or depends on the _id value for $groupinput
- the expression listing the fields to use- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $lastN
-
max
Returns the highest expression value for each group.- Parameters:
value
- the valueothers
- optional other fields to consider- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $max
-
maxN
Returns an aggregation of the max n elements within a group. The elements returned are meaningful only if in a specified sort order. If the group contains fewer than n elements, $maxN returns all elements in the group.- Parameters:
n
- the number of results per group and n has to be a positive integral expression that is either a constant or depends on the _id value for $group.input
- the expression that is the input to $maxN. It is evaluated for each element in the group and $maxN preserves the maximum n values.- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $maxN
-
min
Returns the lowest expression value for each group.- Parameters:
value
- the value- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $min
-
minN
Returns an aggregation of the min n elements within a group. The elements returned are meaningful only if in a specified sort order. If the group contains fewer than n elements, $minN returns all elements in the group.- Parameters:
n
- the number of results per group and n has to be a positive integral expression that is either a constant or depends on the _id value for $group.input
- the expression that is the input to $minN. It is evaluated for each element in the group and $minN preserves the minimum n values.- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $minN
-
push
Returns an array of expression values for each group.- Parameters:
value
- the value- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $push
-
push
Returns an array of all values that result from applying an expression to each document in a group of documents that share the same group by key.$push is only available in the $group stage.
- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $push
-
sum
Calculates and returns the sum of numeric values. $sum ignores non-numeric values.- Parameters:
first
- the first value to sumadditional
- any subsequent values to include in the sum- Returns:
- the new expression
- Since server release
- 5.0
- MongoDB documentation
- Aggregration Expression: $sum
-
top
Returns the top element within a group according to the specified sort order.- Parameters:
output
- the expression listing the fields to usesortBy
- the sort order- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $top
-
topN
Returns an aggregation of the top n elements within a group, according to the specified sort order. If the group contains fewer than n elements, $topN returns all elements in the group.- Parameters:
n
- the number of results per group and has to be a positive integral expression that is either a constant or depends on the _id value for $groupoutput
- the expression listing the fields to usesortBy
- the sort order- Returns:
- the expression
- Since:
- 2.3
- Since server release
- 5.2
- MongoDB documentation
- Aggregration Expression: $topN
-