Class ArrayExpressions
- java.lang.Object
-
- dev.morphia.aggregation.experimental.expressions.ArrayExpressions
-
public final class ArrayExpressions extends Object
Defines helper methods for the array expressions- Since:
- 2.0
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ArrayExpression
array(Expression... expressions)
Creates an array of the given expressions.static Expression
arrayToObject(Expression array)
Converts an array of key value pairs to a document.static Expression
concatArrays(Expression array, Expression additional)
Concatenates arrays to return the concatenated array.static Expression
elementAt(Expression array, Expression index)
Returns the element at the specified array index.static ArrayFilterExpression
filter(Expression array, Expression conditional)
Selects a subset of the array to return an array with only the elements that match the filter condition.static Expression
in(Expression search, Expression array)
Returns a boolean indicating whether a specified value is in an array.static Expression
indexOfArray(Expression array, Expression search)
Searches an array for an occurrence of a specified value and returns the array index of the first occurernce.static Expression
isArray(Expression array)
Determines if the operand is an array.static MapExpression
map(Expression input, Expression in)
Applies a subexpression to each element of an array and returns the array of resulting values in order.static Expression
objectToArray(Expression array)
Converts a document to an array of documents representing key-value pairs.static RangeExpression
range(int start, int end)
Outputs an array containing a sequence of integers according to user-defined inputs.static Expression
reduce(Expression input, Expression initial, Expression in)
Applies an expression to each element in an array and combines them into a single value.static Expression
reverseArray(Expression array)
Returns an array with the elements in reverse order.static Expression
size(Expression array)
Counts and returns the total number of items in an array.static Expression
slice(Expression array, int size)
Returns a subset of an array.static ZipExpression
zip(Expression... arrays)
Merge two arrays together.
-
-
-
Method Detail
-
array
public static ArrayExpression array(Expression... expressions)
Creates an array of the given expressions. This "expression" isn't so much a mongodb expression as it is a convenience method for building pipeline definitions.- Parameters:
expressions
- the expressions- Returns:
- the new expression
-
arrayToObject
public static Expression arrayToObject(Expression 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(Expression array, Expression additional)
Concatenates arrays to return the concatenated array.- Parameters:
array
- the array to useadditional
- any additional arrays to concatenate- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $concatArrays
-
elementAt
public static Expression elementAt(Expression array, Expression index)
Returns the element at the specified array index.- Parameters:
array
- the array to useindex
- the index to return- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $arrayElemAt
-
filter
public static ArrayFilterExpression filter(Expression array, Expression conditional)
Selects a subset of the array to return an array with only the elements that match the filter condition.- Parameters:
array
- the array to useconditional
- the conditional to use for filtering- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $filter
-
in
public static Expression in(Expression search, Expression array)
Returns a boolean indicating whether a specified value is in an array.- Parameters:
search
- the expression to search forarray
- the array to use- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $in
-
indexOfArray
public static Expression indexOfArray(Expression array, Expression search)
Searches an array for an occurrence of a specified value and returns the array index of the first occurernce. If the substring is not found, returns -1.- Parameters:
array
- the array to usesearch
- the expression to search for- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $indexOfArray
-
isArray
public static Expression isArray(Expression 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(Expression input, Expression 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 usein
- 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(Expression 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 valueend
- the ending value- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $range
-
reduce
public static Expression reduce(Expression input, Expression initial, Expression in)
Applies an expression to each element in an array and combines them into a single value.- Parameters:
input
- the array to useinitial
- 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(Expression 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(Expression 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(Expression array, int size)
Returns a subset of an array.- Parameters:
array
- the array to usesize
- the number of elements to return- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $slice
-
zip
public static ZipExpression zip(Expression... arrays)
Merge two arrays together.- Parameters:
arrays
- the arrays to use- Returns:
- the new expression
- MongoDB documentation
- Aggregration Expression: $zip
-
-