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
Nested ClassesModifier and TypeClassDescriptionstatic classA Builder forAggregationOptions.static enumAggregation pipeline Domain type mappings supported by the mapping layer. -
Constructor Summary
ConstructorsConstructorDescriptionAggregationOptions(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.Builderbuilder()Obtain a newAggregationOptions.Builderfor constructingAggregationOptions.static AggregationOptionsfromDocument(org.bson.Document document) Creates newAggregationOptionsgivenDocumentcontaining 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.ReadConcerncom.mongodb.ReadPreferencebooleanbooleanbooleanbooleanEnables writing to temporary files.booleanReturn whetherisAllowDiskUse()is configured.booleanSpecifies to return the information on the processing of the pipeline.booleanorg.bson.DocumentReturns aDocumentrepresentation 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 newAggregationOptionsgivenDocumentcontaining aggregation options.- Parameters:
document- must not be null.- Returns:
- the
AggregationOptions. - Since:
- 2.0
-
builder
Obtain a newAggregationOptions.Builderfor 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_tmpsubdirectory in thedbPathdirectory.- Returns:
- true if enabled; false otherwise (or if not set).
-
isAllowDiskUseSet
public boolean isAllowDiskUseSet()Return whetherisAllowDiskUse()is configured.- Returns:
- true if is
allowDiskUseis 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:
hasReadConcernin interfaceReadConcernAware- Returns:
- true if a
ReadConcernis set.
-
getReadConcern
public com.mongodb.ReadConcern getReadConcern()- Specified by:
getReadConcernin interfaceReadConcernAware- Returns:
- the
ReadConcernto apply or null if none set.
-
hasReadPreference
public boolean hasReadPreference()- Specified by:
hasReadPreferencein interfaceReadPreferenceAware- Returns:
- true if a
ReadPreferenceis set.
-
getReadPreference
public com.mongodb.ReadPreference getReadPreference()- Specified by:
getReadPreferencein interfaceReadPreferenceAware- Returns:
- the
ReadPreferenceto apply or null if none set.
-
getMaxTime
- Returns:
- the time limit for processing.
Duration.ZEROis 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
$mergeor$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 aDocumentrepresentation of thisAggregationOptions.- Returns:
- never null.
-
hasExecutionTimeLimit
public boolean hasExecutionTimeLimit()- Returns:
- true if
maxTimeis set to a positive value. - Since:
- 3.0
-
toString
-
getHintObject()instead.