Class ArrayExpressions

java.lang.Object
dev.morphia.aggregation.expressions.ArrayExpressions

public final class ArrayExpressions extends Object
Defines helper methods for the array expressions
Since:
2.0
  • Method Details

    • array

      @MorphiaExperimental public static Expression array(Object... objects)
      Creates an array of the given objects. This method is an experiment in accepting a wider breadth of types and finding the expressions at encoding time and dealing with them appropriately. There might be bugs in this approach. This method might go away. But it's useful in some Morphia tests, at least.
      Parameters:
      objects - the objects
      Returns:
      the new expression
      Since:
      2.3
      Developer note.
      This is an experimental item. Its function and presence are subject to change. Feedback on features and usability extremely welcome.
    • arrayToObject

      public static Expression arrayToObject(Object array)
      Converts an array of key value pairs to a document.
      Parameters:
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $arrayToObject
    • concatArrays

      public static Expression concatArrays(Object array, Object... additional)
      Concatenates arrays to return the concatenated array.
      Parameters:
      array - the array to use
      additional - any additional arrays to concatenate
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $concatArrays
    • elementAt

      public static Expression elementAt(Object array, Object index)
      Returns the element at the specified array index.
      Parameters:
      array - the array to use
      index - the index to return
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $arrayElemAt
    • in

      public static Expression in(Object search, Object array)
      Returns a boolean indicating whether a specified value is in an array.
      Parameters:
      search - the expression to search for
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $in
    • indexOfArray

      public static ArrayIndexExpression indexOfArray(Object array, Object search)
      Searches an array for an occurrence of a specified value and returns the array index of the first occurrence. If the substring is not found, returns -1.
      Parameters:
      array - the array to use
      search - the expression to search for
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $indexOfArray
    • isArray

      public static Expression isArray(Object array)
      Determines if the operand is an array. Returns a boolean.
      Parameters:
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $isArray
    • map

      public static MapExpression map(Object input, Object in)
      Applies a subexpression to each element of an array and returns the array of resulting values in order. Accepts named parameters.
      Parameters:
      input - the array to use
      in - An expression that is applied to each element of the input array.
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $map
    • objectToArray

      public static Expression objectToArray(Object array)
      Converts a document to an array of documents representing key-value pairs.
      Parameters:
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $objectToArray
    • range

      public static RangeExpression range(int start, int end)
      Outputs an array containing a sequence of integers according to user-defined inputs.
      Parameters:
      start - the starting value
      end - the ending value
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $range
    • range

      public static RangeExpression range(Object start, Object end)
      Outputs an array containing a sequence of integers according to user-defined inputs.
      Parameters:
      start - the starting value
      end - the ending value
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $range
    • reduce

      public static Expression reduce(Object input, Object initial, Object in)
      Applies an expression to each element in an array and combines them into a single value.
      Parameters:
      input - the array to use
      initial - The initial cumulative value set before in is applied to the first element of the input array.
      in - A valid expression that $reduce applies to each element in the input array in left-to-right order.
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $reduce
    • reverseArray

      public static Expression reverseArray(Object array)
      Returns an array with the elements in reverse order.
      Parameters:
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $reverseArray
    • size

      public static Expression size(Object array)
      Counts and returns the total number of items in an array.
      Parameters:
      array - the array to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $size
    • slice

      public static Expression slice(Object array, int size)
      Returns a subset of an array.
      Parameters:
      array - the array to use
      size - the number of elements to return
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $slice
    • sortArray

      public static Expression sortArray(Object input, Sort... sort)
      Sorts an array based on its elements. To sort by value, use Sort.naturalAscending() or Sort.naturalDescending(). See here for details.
      Parameters:
      input - the array to be sorted.
      sort - the sort order
      Returns:
      the new expression
      Since:
      2.3
      Since server release
      5.2
      MongoDB documentation
      Aggregration Expression: $sortArray
    • zip

      public static ZipExpression zip(Object... arrays)
      Merge two arrays together.
      Parameters:
      arrays - the arrays to use
      Returns:
      the new expression
      MongoDB documentation
      Aggregration Expression: $zip