Interface AggregateIterable<TResult>

Type Parameters:
TResult - The type of the result.
All Superinterfaces:
Iterable<TResult>, MongoIterable<TResult>

public interface AggregateIterable<TResult> extends MongoIterable<TResult>
Iterable for aggregate.
Since:
3.0
MongoDB documentation
Aggregation
  • Method Details

    • toCollection

      void toCollection()
      Aggregates documents according to the specified aggregation pipeline, which must end with a $out or $merge stage.
      Throws:
      IllegalStateException - if the pipeline does not end with a $out or $merge stage
      Since:
      3.4
      MongoDB documentation
      $out stage
      $merge stage
    • allowDiskUse

      AggregateIterable<TResult> allowDiskUse(@Nullable Boolean allowDiskUse)
      Enables writing to temporary files. A null value indicates that it's unspecified.
      Parameters:
      allowDiskUse - true if writing to temporary files is enabled
      Returns:
      this
      MongoDB documentation
      Aggregation
    • batchSize

      AggregateIterable<TResult> batchSize(int batchSize)
      Sets the number of documents to return per batch.
      Specified by:
      batchSize in interface MongoIterable<TResult>
      Parameters:
      batchSize - the batch size
      Returns:
      this
      MongoDB documentation
      Batch Size
    • timeoutMode

      @Alpha(CLIENT) AggregateIterable<TResult> timeoutMode(TimeoutMode timeoutMode)
      Sets the timeoutMode for the cursor.

      Requires the timeout to be set, either in the MongoClientSettings, via MongoDatabase or via MongoCollection

      If the timeout is set then:

      Will error if the timeoutMode is set to TimeoutMode.ITERATION and the pipeline contains either an $out or a $merge stage.

      Parameters:
      timeoutMode - the timeout mode
      Returns:
      this
      Since:
      5.2
    • maxTime

      AggregateIterable<TResult> maxTime(long maxTime, TimeUnit timeUnit)
      Sets the maximum execution time on the server for this operation.
      Parameters:
      maxTime - the max time
      timeUnit - the time unit, which may not be null
      Returns:
      this
      MongoDB documentation
      Max Time
    • maxAwaitTime

      AggregateIterable<TResult> maxAwaitTime(long maxAwaitTime, TimeUnit timeUnit)
      The maximum amount of time for the server to wait on new documents to satisfy a $changeStream aggregation.

      A zero value will be ignored.

      Parameters:
      maxAwaitTime - the max await time
      timeUnit - the time unit to return the result in
      Returns:
      the maximum await execution time in the given time unit
      Since:
      3.6
      Since server release
      3.6
    • bypassDocumentValidation

      AggregateIterable<TResult> bypassDocumentValidation(@Nullable Boolean bypassDocumentValidation)
      Sets the bypass document level validation flag.

      Note: This only applies when an $out or $merge stage is specified

      .
      Parameters:
      bypassDocumentValidation - If true, allows the write to opt-out of document level validation.
      Returns:
      this
      Since:
      3.2
      MongoDB documentation
      Aggregation
      Since server release
      3.2
    • collation

      Sets the collation options

      A null value represents the server default.

      Parameters:
      collation - the collation options to use
      Returns:
      this
      Since:
      3.4
      Since server release
      3.4
    • comment

      Sets the comment for this operation. A null value means no comment is set.
      Parameters:
      comment - the comment
      Returns:
      this
      Since:
      3.6
      Since server release
      3.6
    • comment

      Sets the comment for this operation. A null value means no comment is set.

      The comment can be any valid BSON type for server versions 4.4 and above. Server versions between 3.6 and 4.2 only support string as comment, and providing a non-string type will result in a server-side error.

      Parameters:
      comment - the comment
      Returns:
      this
      Since:
      4.6
      Since server release
      3.6
    • 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
    • hintString

      Sets the hint to apply.

      Note: If hint(Bson) is set that will be used instead of any hint string.

      Parameters:
      hint - the name of the index which should be used for the operation
      Returns:
      this
      Since:
      4.4
    • let

      Add top-level variables to the aggregation.

      For MongoDB 5.0+, the aggregate command accepts a let option. This option is a document consisting of zero or more fields representing variables that are accessible to the aggregation pipeline. The key is the name of the variable and the value is a constant in the aggregate expression language. Each parameter name is then usable to access the value of the corresponding expression with the "$$" syntax within aggregate expression contexts which may require the use of $expr or a pipeline.

      Parameters:
      variables - the variables
      Returns:
      this
      Since:
      4.3
      Since server release
      5.0
    • explain

      Document explain()
      Explain the execution plan for this operation with the server's default verbosity level
      Returns:
      the execution plan
      Since:
      4.2
      MongoDB documentation
      reference/command/explain/
      Since server release
      3.6
    • explain

      Document explain(ExplainVerbosity verbosity)
      Explain the execution plan for this operation with the given verbosity level
      Parameters:
      verbosity - the verbosity of the explanation
      Returns:
      the execution plan
      Since:
      4.2
      MongoDB documentation
      reference/command/explain/
      Since server release
      3.6
    • explain

      <E> E explain(Class<E> explainResultClass)
      Explain the execution plan for this operation with the server's default verbosity level
      Type Parameters:
      E - the type of the document class
      Parameters:
      explainResultClass - the document class to decode into
      Returns:
      the execution plan
      Since:
      4.2
      MongoDB documentation
      reference/command/explain/
      Since server release
      3.6
    • explain

      <E> E explain(Class<E> explainResultClass, ExplainVerbosity verbosity)
      Explain the execution plan for this operation with the given verbosity level
      Type Parameters:
      E - the type of the document class
      Parameters:
      explainResultClass - the document class to decode into
      verbosity - the verbosity of the explanation
      Returns:
      the execution plan
      Since:
      4.2
      MongoDB documentation
      reference/command/explain/
      Since server release
      3.6