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
    • 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 to the aggregation. A null value means no comment is set.
      Parameters:
      comment - the comment
      Returns:
      this
      Since:
      3.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