Class AccumulatorExpressions
- java.lang.Object
-
- dev.morphia.aggregation.expressions.AccumulatorExpressions
-
public final class AccumulatorExpressions extends Object
Defines helper methods for accumulator expressions- Since:
- 2.0
-
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static AccumulatorExpressionaccumulator(String initFunction, String accumulateFunction, List<Expression> accumulateArgs, String mergeFunction)Returns an array of unique expression values for each group.static ExpressionaddToSet(Expression value)Returns an array of unique expression values for each group.static Expressionavg(Expression value, Expression... additional)Returns an average of numerical values.static Expressionbottom(Expression output, Sort... sortBy)Returns the bottom element within a group according to the specified sort order.static ExpressionbottomN(Expression n, Expression output, Sort... sortBy)Returns an aggregation of the bottom n elements within a group, according to the specified sort order.static Expressionfirst(Expression value)Returns a value from the first document for each group.static ExpressionfirstN(Expression n, Expression input)Returns an aggregation of the first n elements within a group.static Expressionfunction(String body, Expression... args)Defines a custom aggregation function or expression in JavaScript.static Expressionlast(Expression value)Returns a value from the last document for each group.static ExpressionlastN(Expression n, Expression input)Returns an aggregation of the last n elements within a group.static Expressionmax(Expression value)Returns the highest expression value for each group.static ExpressionmaxN(Expression n, Expression input)Returns an aggregation of the max n elements within a group.static Expressionmin(Expression value)Returns the lowest expression value for each group.static ExpressionminN(Expression n, Expression input)Returns an aggregation of the min n elements within a group.static Pushpush()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 Expressionpush(Expression value)Returns an array of expression values for each group.static ExpressionstdDevPop(Expression value, Expression... additional)Deprecated.static ExpressionstdDevSamp(Expression value, Expression... additional)Deprecated.static Expressionsum(Expression first, Expression... additional)Calculates and returns the sum of numeric values.static Expressiontop(Expression output, Sort... sortBy)Returns the top element within a group according to the specified sort order.static ExpressiontopN(Expression n, Expression output, Sort... sortBy)Returns an aggregation of the top n elements within a group, according to the specified sort order.
-
-
-
Method Detail
-
accumulator
public static AccumulatorExpression accumulator(String initFunction, String accumulateFunction, List<Expression> 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
- MongoDB documentation
- Aggregration Expression: $accumulator
-
addToSet
public static Expression addToSet(Expression value)
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
- MongoDB documentation
- Aggregration Expression: $addToSet
-
avg
public static Expression avg(Expression value, Expression... additional)
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
- MongoDB documentation
- Aggregration Expression: $avg
-
bottom
public static Expression bottom(Expression output, Sort... sortBy)
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
public static Expression bottomN(Expression n, Expression output, Sort... sortBy)
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
-
first
public static Expression first(Expression value)
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
- MongoDB documentation
- Aggregration Expression: $first
-
firstN
public static Expression firstN(Expression n, Expression input)
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
public static Expression function(String body, Expression... args)
Defines a custom aggregation function or expression in JavaScript.- Parameters:
body- the function bodyargs- the function arguments- Returns:
- the new expression
- Since:
- 2.1
- MongoDB documentation
- Aggregration Expression: $function
-
last
public static Expression last(Expression value)
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
- MongoDB documentation
- Aggregration Expression: $last
-
lastN
public static Expression lastN(Expression n, Expression input)
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
public static Expression max(Expression value)
Returns the highest expression value for each group.- Parameters:
value- the value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $max
-
maxN
public static Expression maxN(Expression n, Expression input)
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
public static Expression min(Expression value)
Returns the lowest expression value for each group.- Parameters:
value- the value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $min
-
minN
public static Expression minN(Expression n, Expression input)
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
public static Expression push(Expression value)
Returns an array of expression values for each group.- Parameters:
value- the value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $push
-
push
public 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.$push is only available in the $group stage.
- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $push
-
sum
public static Expression sum(Expression first, Expression... additional)
Calculates and returns the sum of numeric values. $sum ignores non-numeric values.- Parameters:
first- the first expression to sumadditional- any subsequent expressions to include in the sum- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $sum
-
top
public static Expression top(Expression output, Sort... sortBy)
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
public static Expression topN(Expression n, Expression output, Sort... sortBy)
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
-
stdDevPop
@Deprecated public static Expression stdDevPop(Expression value, Expression... additional)
Deprecated.Returns the population standard deviation of the input values.- Parameters:
value- the valueadditional- any subsequent expressions to include in the expression- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $stdDevPop
-
stdDevSamp
@Deprecated public static Expression stdDevSamp(Expression value, Expression... additional)
Deprecated.Returns the sample standard deviation of the input values.- Parameters:
value- the valueadditional- any subsequent expressions to include in the expression- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $stdDevSamp
-
-