Class AggregationOptions

java.lang.Object
dev.morphia.aggregation.AggregationOptions
All Implemented Interfaces:
dev.morphia.internal.CollectionConfigurable<AggregationOptions>, dev.morphia.internal.CollectionConfiguration, dev.morphia.internal.ReadConfigurable<AggregationOptions>, dev.morphia.internal.WriteConfigurable<AggregationOptions>

public class AggregationOptions extends Object implements dev.morphia.internal.ReadConfigurable<AggregationOptions>, dev.morphia.internal.WriteConfigurable<AggregationOptions>, dev.morphia.internal.CollectionConfigurable<AggregationOptions>
Defines options to be applied to an aggregation pipeline.
  • Constructor Details

    • AggregationOptions

      public AggregationOptions()
  • Method Details

    • allowDiskUse

      public AggregationOptions allowDiskUse(boolean allowDiskUse)
      Enables writing to temporary files.
      Parameters:
      allowDiskUse - true to enable
      Returns:
      this
    • batchSize

      public AggregationOptions batchSize(int batchSize)
      Sets the batch size for fetching results.
      Parameters:
      batchSize - the size
      Returns:
      this
    • bypassDocumentValidation

      public AggregationOptions bypassDocumentValidation(boolean bypassDocumentValidation)
      Enables the aggregation to bypass document validation during the operation. This lets you insert documents that do not meet the validation requirements.

      Applicable only if you specify the $out or $merge aggregation stages.

      Parameters:
      bypassDocumentValidation - true to enable the bypass
      Returns:
      this
    • collation

      public AggregationOptions collation(Collation collation)
      Specifies the collation to use for the operation.

      Collation allows users to specify language-specific rules for string comparison, such as rules for letter case and accent marks.

      Parameters:
      collation - the collation to use
      Returns:
      this
    • collection

      public AggregationOptions collection(@Nullable String collection)
      Specify an alternate collection to aggregate from rather than the collection mapped to the type used to create the aggregation initially.
      Specified by:
      collection in interface dev.morphia.internal.CollectionConfigurable<AggregationOptions>
      Parameters:
      collection - the name of the collection to use
      Returns:
      this
      Since:
      2.3
    • comment

      public AggregationOptions comment(String comment)
      Sets the comment for this operation. A null value means no comment is set.
      Parameters:
      comment - the comment
      Returns:
      this
      Since:
      3.0
      Since server release
      3.6
    • hint

      public AggregationOptions hint(String hint)
      Sets the hint for which index to use. A null value means no hint is set.
      Parameters:
      hint - the hint
      Returns:
      this
      Since server release
      3.6
    • hint

      public AggregationOptions hint(Document hint)
      Sets the hint for which index to use. A null value means no hint is set.
      Parameters:
      hint - the hint
      Returns:
      this
      Since:
      3.0
      Since server release
      3.6
    • let

      public AggregationOptions let(Document let)
      Defines any variables to use when evaluating the pipeline
      Parameters:
      let - the variable definitions
      Returns:
      this
      Since:
      3.0
    • maxTimeMS

      public AggregationOptions maxTimeMS(long maxTimeMS)
      Specifies a time limit in milliseconds for processing operations on a cursor. If you do not specify a value for maxTimeMS, operations will not time out. A value of 0 explicitly specifies the default unbounded behavior.
      Parameters:
      maxTimeMS - the max time in milliseconds
      Returns:
      this
    • maxTime

      public AggregationOptions maxTime(long maxTime, TimeUnit timeUnit)
      Specifies a time limit for processing operations on a cursor. If you do not specify a value for maxTime, operations will not time out. A value of 0 explicitly specifies the default unbounded behavior.
      Parameters:
      maxTime - the max time
      timeUnit - the time unit
      Returns:
      this
      Since:
      3.0
    • maxAwaitTime

      public AggregationOptions maxAwaitTime(long maxTime, TimeUnit timeUnit)
      Specifies a time limit for processing operations on a cursor. If you do not specify a value for maxTime, operations will not time out. A value of 0 explicitly specifies the default unbounded behavior.
      Parameters:
      maxTime - the max time
      timeUnit - the time unit
      Returns:
      this
      Since:
      3.0
    • readConcern

      public AggregationOptions readConcern(ReadConcern readConcern)
      Specifies the read concern.
      Specified by:
      readConcern in interface dev.morphia.internal.ReadConfigurable<AggregationOptions>
      Parameters:
      readConcern - the read concern to use
      Returns:
      this
    • readPreference

      public AggregationOptions readPreference(ReadPreference readPreference)
      Sets the read preference to use
      Specified by:
      readPreference in interface dev.morphia.internal.ReadConfigurable<AggregationOptions>
      Parameters:
      readPreference - the read preference
      Returns:
      this
    • timeoutMode

      public AggregationOptions timeoutMode(TimeoutMode timeoutMode)
      Sets the timeout mode
      Parameters:
      timeoutMode - the timeout mode
      Returns:
      this
      Since:
      3.0
    • writeConcern

      public AggregationOptions writeConcern(@Nullable WriteConcern writeConcern)
      Sets the write concern to use
      Specified by:
      writeConcern in interface dev.morphia.internal.WriteConfigurable<AggregationOptions>
      Parameters:
      writeConcern - the write concern
      Returns:
      this