Class ArrayOperators.ArrayOperatorFactory
java.lang.Object
org.springframework.data.mongodb.core.aggregation.ArrayOperators.ArrayOperatorFactory
- Enclosing class:
- ArrayOperators
- Author:
- Christoph Strobl
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
-
Constructor Summary
ConstructorDescriptionArrayOperatorFactory
(String fieldReference) Creates newArrayOperators.ArrayOperatorFactory
for given fieldReference.ArrayOperatorFactory
(Collection<?> values) Creates newArrayOperators.ArrayOperatorFactory
for given values.ArrayOperatorFactory
(AggregationExpression expression) Creates newArrayOperators.ArrayOperatorFactory
for givenAggregationExpression
. -
Method Summary
Modifier and TypeMethodDescriptionCreates newAggregationExpression
that takes the associated array and concats the given arrayFieldReference to it.concat
(AggregationExpression expression) Creates newAggregationExpression
that takes the associated array and concats the array resulting form the given expression to it.containsValue
(Object value) Creates newAggregationExpression
that returns a boolean indicating whether a specified value is in the associated array.elementAt
(int position) Creates newAggregationExpression
that takes the associated array and returns the element at the specified array position.Creates newAggregationExpression
that takes the associated array and returns the element at the position defined by the referenced field.elementAt
(AggregationExpression expression) Creates newAggregationExpression
that takes the associated array and returns the element at the position resulting form the given expression.filter()
Creates newAggregationExpression
that takes the associated array and selects a subset of the array to return based on the specified condition.first()
Creates newAggregationExpression
that return the first element in the associated array.Creates newAggregationExpression
that searches the associated array for an occurrence of a specified value and returns the array index (zero-based) of the first occurrence.isArray()
Creates newAggregationExpression
that takes the associated array and an check if its an array.last()
Creates newAggregationExpression
that return the last element in the given array.length()
Creates newAggregationExpression
that takes the associated array and retrieves its length.reduce
(AggregationExpression expression) Start creating newAggregationExpression
that applies anAggregationExpression
to each element in an array and combines them into a single value.reduce
(ArrayOperators.Reduce.PropertyExpression... expressions) Start creating newAggregationExpression
that applies anAggregationExpression
to each element in an array and combines them into a single value.reverse()
Creates newAggregationExpression
that returns an array with the elements in reverse order.slice()
Creates newAggregationExpression
that takes the associated array and selects a subset from it.toObject()
Creates newAggregationExpression
that converts the associated expression into an object.Creates newAggregationExpression
that transposes an array of input arrays so that the first element of the output array would be an array containing, the first element of the first input array, the first element of the second input array, etc.
-
Constructor Details
-
ArrayOperatorFactory
Creates newArrayOperators.ArrayOperatorFactory
for given fieldReference.- Parameters:
fieldReference
- must not be null.
-
ArrayOperatorFactory
Creates newArrayOperators.ArrayOperatorFactory
for givenAggregationExpression
.- Parameters:
expression
- must not be null.
-
ArrayOperatorFactory
Creates newArrayOperators.ArrayOperatorFactory
for given values.- Parameters:
values
- must not be null.- Since:
- 2.2
-
-
Method Details
-
elementAt
Creates newAggregationExpression
that takes the associated array and returns the element at the specified array position.- Parameters:
position
- the element index.- Returns:
- new instance of
ArrayOperators.ArrayElemAt
.
-
elementAt
Creates newAggregationExpression
that takes the associated array and returns the element at the position resulting form the given expression.- Parameters:
expression
- must not be null.- Returns:
- new instance of
ArrayOperators.ArrayElemAt
.
-
elementAt
Creates newAggregationExpression
that takes the associated array and returns the element at the position defined by the referenced field.- Parameters:
fieldReference
- must not be null.- Returns:
- new instance of
ArrayOperators.ArrayElemAt
.
-
concat
Creates newAggregationExpression
that takes the associated array and concats the given arrayFieldReference to it.- Parameters:
arrayFieldReference
- must not be null.- Returns:
- new instance of
ArrayOperators.ConcatArrays
.
-
concat
Creates newAggregationExpression
that takes the associated array and concats the array resulting form the given expression to it.- Parameters:
expression
- must not be null.- Returns:
- new instance of
ArrayOperators.ConcatArrays
.
-
filter
Creates newAggregationExpression
that takes the associated array and selects a subset of the array to return based on the specified condition.- Returns:
- new instance of
ArrayOperators.Filter.AsBuilder
to create aArrayOperators.Filter
.
-
isArray
Creates newAggregationExpression
that takes the associated array and an check if its an array.- Returns:
- new instance of
ArrayOperators.IsArray
.
-
length
Creates newAggregationExpression
that takes the associated array and retrieves its length.- Returns:
- new instance of
ArrayOperators.Size
.
-
slice
Creates newAggregationExpression
that takes the associated array and selects a subset from it.- Returns:
- new instance of
ArrayOperators.Slice
.
-
indexOf
Creates newAggregationExpression
that searches the associated array for an occurrence of a specified value and returns the array index (zero-based) of the first occurrence.- Parameters:
value
- must not be null.- Returns:
- new instance of
ArrayOperators.IndexOfArray
.
-
reverse
Creates newAggregationExpression
that returns an array with the elements in reverse order.- Returns:
- new instance of
ArrayOperators.ReverseArray
.
-
reduce
public ArrayOperators.ArrayOperatorFactory.ReduceInitialValueBuilder reduce(AggregationExpression expression) Start creating newAggregationExpression
that applies anAggregationExpression
to each element in an array and combines them into a single value.- Parameters:
expression
- must not be null.- Returns:
- new instance of
ArrayOperators.ArrayOperatorFactory.ReduceInitialValueBuilder
to createArrayOperators.Reduce
.
-
reduce
public ArrayOperators.ArrayOperatorFactory.ReduceInitialValueBuilder reduce(ArrayOperators.Reduce.PropertyExpression... expressions) Start creating newAggregationExpression
that applies anAggregationExpression
to each element in an array and combines them into a single value.- Parameters:
expressions
- must not be null.- Returns:
- new instance of
ArrayOperators.ArrayOperatorFactory.ReduceInitialValueBuilder
to createArrayOperators.Reduce
.
-
zipWith
Creates newAggregationExpression
that transposes an array of input arrays so that the first element of the output array would be an array containing, the first element of the first input array, the first element of the second input array, etc.- Parameters:
arrays
- must not be null.- Returns:
- new instance of
ArrayOperators.Zip
.
-
containsValue
Creates newAggregationExpression
that returns a boolean indicating whether a specified value is in the associated array.- Parameters:
value
- must not be null.- Returns:
- new instance of
ArrayOperators.In
.
-
toObject
Creates newAggregationExpression
that converts the associated expression into an object. NOTE: Requires MongoDB 3.6 or later.- Returns:
- new instance of
ArrayOperators.ArrayToObject
. - Since:
- 2.1
-
first
Creates newAggregationExpression
that return the first element in the associated array. NOTE: Requires MongoDB 4.4 or later.- Returns:
- new instance of
ArrayOperators.First
. - Since:
- 3.4
-
last
Creates newAggregationExpression
that return the last element in the given array. NOTE: Requires MongoDB 4.4 or later.- Returns:
- new instance of
ArrayOperators.Last
. - Since:
- 3.4
-