Class AggregationOptions
java.lang.Object
org.springframework.data.mongodb.core.aggregation.AggregationOptions
- All Implemented Interfaces:
ReadConcernAware
,ReadPreferenceAware
Holds a set of configurable aggregation options that can be used within an aggregation pipeline. A list of support
aggregation options can be found in the
MongoDB reference documentation.
As off 4.3 allowDiskUse
can be null, indicating use of server default, and may only be applied if
explicitly set
. For compatibility reasons isAllowDiskUse()
will remain
returning false if the no value has been set.
- Since:
- 1.6
- Author:
- Thomas Darimont, Oliver Gierke, Christoph Strobl, Mark Paluch, Yadhukrishna S Pai, Soumya Prakash Behera
- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
A Builder forAggregationOptions
.static enum
Aggregation pipeline Domain type mappings supported by the mapping layer. -
Constructor Summary
ConstructorDescriptionAggregationOptions
(boolean allowDiskUse, boolean explain, int cursorBatchSize) Creates a newAggregationOptions
.AggregationOptions
(boolean allowDiskUse, boolean explain, org.bson.Document cursor) Creates a newAggregationOptions
.AggregationOptions
(boolean allowDiskUse, boolean explain, org.bson.Document cursor, Collation collation) Creates a newAggregationOptions
.AggregationOptions
(boolean allowDiskUse, boolean explain, org.bson.Document cursor, Collation collation, String comment) Creates a newAggregationOptions
. -
Method Summary
Modifier and TypeMethodDescriptionstatic AggregationOptions.Builder
builder()
Obtain a newAggregationOptions.Builder
for constructingAggregationOptions
.static AggregationOptions
fromDocument
(org.bson.Document document) Creates newAggregationOptions
givenDocument
containing aggregation options.Get collation settings for string comparison.Get the comment for the aggregation.Optional<org.bson.Document>
Specify a document that contains options that control the creation of the cursor object.The initial cursor batch size, if available, otherwise null.Optional<org.bson.Document>
getHint()
Deprecated.Get the hint used to fulfill the aggregation.com.mongodb.ReadConcern
com.mongodb.ReadPreference
boolean
boolean
boolean
boolean
Enables writing to temporary files.boolean
Return whetherisAllowDiskUse()
is configured.boolean
Specifies to return the information on the processing of the pipeline.boolean
org.bson.Document
Returns aDocument
representation of thisAggregationOptions
.toString()
-
Constructor Details
-
AggregationOptions
public AggregationOptions(boolean allowDiskUse, boolean explain, @Nullable org.bson.Document cursor) Creates a newAggregationOptions
.- Parameters:
allowDiskUse
- whether to off-load intensive sort-operations to disk.explain
- whether to get the execution plan for the aggregation instead of the actual results.cursor
- can be null, used to pass additional options to the aggregation.
-
AggregationOptions
public AggregationOptions(boolean allowDiskUse, boolean explain, @Nullable org.bson.Document cursor, @Nullable Collation collation) Creates a newAggregationOptions
.- Parameters:
allowDiskUse
- whether to off-load intensive sort-operations to disk.explain
- whether to get the execution plan for the aggregation instead of the actual results.cursor
- can be null, used to pass additional options (such asbatchSize
) to the aggregation.collation
- collation for string comparison. Can be null.- Since:
- 2.0
-
AggregationOptions
public AggregationOptions(boolean allowDiskUse, boolean explain, @Nullable org.bson.Document cursor, @Nullable Collation collation, @Nullable String comment) Creates a newAggregationOptions
.- Parameters:
allowDiskUse
- whether to off-load intensive sort-operations to disk.explain
- whether to get the execution plan for the aggregation instead of the actual results.cursor
- can be null, used to pass additional options (such asbatchSize
) to the aggregation.collation
- collation for string comparison. Can be null.comment
- execution comment. Can be null.- Since:
- 2.2
-
AggregationOptions
public AggregationOptions(boolean allowDiskUse, boolean explain, int cursorBatchSize) Creates a newAggregationOptions
.- Parameters:
allowDiskUse
- whether to off-load intensive sort-operations to disk.explain
- whether to get the execution plan for the aggregation instead of the actual results.cursorBatchSize
- initial cursor batch size.- Since:
- 2.0
-
-
Method Details
-
fromDocument
Creates newAggregationOptions
givenDocument
containing aggregation options.- Parameters:
document
- must not be null.- Returns:
- the
AggregationOptions
. - Since:
- 2.0
-
builder
Obtain a newAggregationOptions.Builder
for constructingAggregationOptions
.- Returns:
- never null.
- Since:
- 2.0
-
isAllowDiskUse
public boolean isAllowDiskUse()Enables writing to temporary files. When set to true, aggregation stages can write data to the_tmp
subdirectory in thedbPath
directory.- Returns:
- true if enabled; false otherwise (or if not set).
-
isAllowDiskUseSet
public boolean isAllowDiskUseSet()Return whetherisAllowDiskUse()
is configured.- Returns:
- true if is
allowDiskUse
is configured, false otherwise. - Since:
- 4.2.5
-
isExplain
public boolean isExplain()Specifies to return the information on the processing of the pipeline.- Returns:
- true if enabled.
-
getCursorBatchSize
The initial cursor batch size, if available, otherwise null.- Returns:
- the batch size or null.
- Since:
- 2.0
-
getCursor
Specify a document that contains options that control the creation of the cursor object.- Returns:
- never null.
-
getCollation
Get collation settings for string comparison.- Returns:
- never null.
- Since:
- 2.0
-
getComment
Get the comment for the aggregation.- Returns:
- never null.
- Since:
- 2.2
-
getHint
Deprecated.since 4.1, usegetHintObject()
instead.Get the hint used to fulfill the aggregation.- Returns:
- never null.
- Since:
- 3.1
-
getHintObject
Get the hint used to fulfill the aggregation.- Returns:
- never null.
- Since:
- 4.1
-
hasReadConcern
public boolean hasReadConcern()- Specified by:
hasReadConcern
in interfaceReadConcernAware
- Returns:
- true if a
ReadConcern
is set.
-
getReadConcern
public com.mongodb.ReadConcern getReadConcern()- Specified by:
getReadConcern
in interfaceReadConcernAware
- Returns:
- the
ReadConcern
to apply or null if none set.
-
hasReadPreference
public boolean hasReadPreference()- Specified by:
hasReadPreference
in interfaceReadPreferenceAware
- Returns:
- true if a
ReadPreference
is set.
-
getReadPreference
public com.mongodb.ReadPreference getReadPreference()- Specified by:
getReadPreference
in interfaceReadPreferenceAware
- Returns:
- the
ReadPreference
to apply or null if none set.
-
getMaxTime
- Returns:
- the time limit for processing.
Duration.ZERO
is used for the default unbounded behavior. - Since:
- 3.0
-
isSkipResults
public boolean isSkipResults()- Returns:
- true to skip results when running an aggregation. Useful in combination with
$merge
or$out
. - Since:
- 3.0.2
-
getDomainTypeMapping
- Returns:
- the domain type mapping strategy do apply. Never null.
- Since:
- 3.2
-
toDocument
public org.bson.Document toDocument()Returns aDocument
representation of thisAggregationOptions
.- Returns:
- never null.
-
hasExecutionTimeLimit
public boolean hasExecutionTimeLimit()- Returns:
- true if
maxTime
is set to a positive value. - Since:
- 3.0
-
toString
-
getHintObject()
instead.