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
    • 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:
      3.6
      Since server release
      3.6
    • 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
    • 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
    • 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