Class AccumulatorExpressions


  • public final class AccumulatorExpressions
    extends Object
    Defines helper methods for accumulator expressions
    Since:
    2.0
    • 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 value
        additional - 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 use
        sortBy - 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 $group
        output - the expression listing the fields to use
        sortBy - 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 $group
        input - 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 body
        args - 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 $group
        input - the expression listing the fields to use
        Returns:
        the expression
        Since:
        2.3
        Since server release
        5.2
        MongoDB documentation
        Aggregration Expression: $lastN
      • 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
      • 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 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 sum
        additional - 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 use
        sortBy - 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 $group
        output - the expression listing the fields to use
        sortBy - the sort order
        Returns:
        the expression
        Since:
        2.3
        Since server release
        5.2
        MongoDB documentation
        Aggregration Expression: $topN