Interface AggregatePublisher<TResult>

Type Parameters:
TResult - The type of the result.
All Superinterfaces:
Publisher<TResult>

public interface AggregatePublisher<TResult> extends Publisher<TResult>
Publisher for aggregate.
Since:
1.0
  • Method Details

    • allowDiskUse

      AggregatePublisher<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
    • maxTime

      AggregatePublisher<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

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

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

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

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

      Publisher<Void> toCollection()
      Aggregates documents according to the specified aggregation pipeline, which must end with a $out stage.
      Returns:
      an empty publisher that indicates when the operation has completed
      MongoDB documentation
      Aggregation
    • collation

      Sets the collation options

      A null value represents the server default.

      Parameters:
      collation - the collation options to use
      Returns:
      this
      Since:
      1.3
      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:
      1.7
      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:
      1.7
      Since server release
      3.6
    • hintString

      Sets the hint for which index to use. A null value means no hint is set.

      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
    • batchSize

      AggregatePublisher<TResult> batchSize(int batchSize)
      Sets the number of documents to return per batch.

      Overrides the Subscription.request(long) value for setting the batch size, allowing for fine-grained control over the underlying cursor.

      Parameters:
      batchSize - the batch size
      Returns:
      this
      Since:
      1.8
      MongoDB documentation
      Batch Size
    • timeoutMode

      @Alpha(CLIENT) AggregatePublisher<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:

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

      Publisher<TResult> first()
      Helper to return a publisher limited to the first result.
      Returns:
      a Publisher which will contain a single item.
      Since:
      1.8
    • explain

      Publisher<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

      Publisher<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> Publisher<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> Publisher<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