Interface MongoDatabase


@ThreadSafe public interface MongoDatabase
The MongoDatabase interface.

Note: Additions to this interface will not be considered to break binary compatibility.

Since:
3.0
  • Method Summary

    Modifier and Type
    Method
    Description
    AggregateIterable<org.bson.Document>
    aggregate(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline)
    Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
    <TResult> AggregateIterable<TResult>
    aggregate(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
    Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
    AggregateIterable<org.bson.Document>
    aggregate(List<? extends org.bson.conversions.Bson> pipeline)
    Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
    <TResult> AggregateIterable<TResult>
    aggregate(List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
    Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
    void
    createCollection(ClientSession clientSession, String collectionName)
    Create a new collection with the given name.
    void
    createCollection(ClientSession clientSession, String collectionName, com.mongodb.client.model.CreateCollectionOptions createCollectionOptions)
    Create a new collection with the selected options
    void
    createCollection(String collectionName)
    Create a new collection with the given name.
    void
    createCollection(String collectionName, com.mongodb.client.model.CreateCollectionOptions createCollectionOptions)
    Create a new collection with the selected options
    void
    createView(ClientSession clientSession, String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline)
    Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
    void
    createView(ClientSession clientSession, String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline, com.mongodb.client.model.CreateViewOptions createViewOptions)
    Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
    void
    createView(String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline)
    Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
    void
    createView(String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline, com.mongodb.client.model.CreateViewOptions createViewOptions)
    Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
    void
    Drops this database.
    void
    drop(ClientSession clientSession)
    Drops this database.
    org.bson.codecs.configuration.CodecRegistry
    Get the codec registry for the MongoDatabase.
    MongoCollection<org.bson.Document>
    getCollection(String collectionName)
    Gets a collection.
    <TDocument>
    MongoCollection<TDocument>
    getCollection(String collectionName, Class<TDocument> documentClass)
    Gets a collection, with a specific default document class.
    Gets the name of the database.
    com.mongodb.ReadConcern
    Get the read concern for the MongoDatabase.
    com.mongodb.ReadPreference
    Get the read preference for the MongoDatabase.
    getTimeout(TimeUnit timeUnit)
    The time limit for the full execution of an operation.
    com.mongodb.WriteConcern
    Get the write concern for the MongoDatabase.
    Gets the names of all the collections in this database.
    Gets the names of all the collections in this database.
    ListCollectionsIterable<org.bson.Document>
    Finds all the collections in this database.
    ListCollectionsIterable<org.bson.Document>
    Finds all the collections in this database.
    <TResult> ListCollectionsIterable<TResult>
    listCollections(ClientSession clientSession, Class<TResult> resultClass)
    Finds all the collections in this database.
    <TResult> ListCollectionsIterable<TResult>
    listCollections(Class<TResult> resultClass)
    Finds all the collections in this database.
    org.bson.Document
    runCommand(ClientSession clientSession, org.bson.conversions.Bson command)
    Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
    org.bson.Document
    runCommand(ClientSession clientSession, org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference)
    Executes the given command in the context of the current database with the given read preference.
    <TResult> TResult
    runCommand(ClientSession clientSession, org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference, Class<TResult> resultClass)
    Executes the given command in the context of the current database with the given read preference.
    <TResult> TResult
    runCommand(ClientSession clientSession, org.bson.conversions.Bson command, Class<TResult> resultClass)
    Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
    org.bson.Document
    runCommand(org.bson.conversions.Bson command)
    Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
    org.bson.Document
    runCommand(org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference)
    Executes the given command in the context of the current database with the given read preference.
    <TResult> TResult
    runCommand(org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference, Class<TResult> resultClass)
    Executes the given command in the context of the current database with the given read preference.
    <TResult> TResult
    runCommand(org.bson.conversions.Bson command, Class<TResult> resultClass)
    Executes the given command in the context of the current database with a read preference of ReadPreference.primary().
    ChangeStreamIterable<org.bson.Document>
    Creates a change stream for this database.
    ChangeStreamIterable<org.bson.Document>
    watch(ClientSession clientSession)
    Creates a change stream for this database.
    <TResult> ChangeStreamIterable<TResult>
    watch(ClientSession clientSession, Class<TResult> resultClass)
    Creates a change stream for this database.
    ChangeStreamIterable<org.bson.Document>
    watch(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline)
    Creates a change stream for this database.
    <TResult> ChangeStreamIterable<TResult>
    watch(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
    Creates a change stream for this database.
    <TResult> ChangeStreamIterable<TResult>
    watch(Class<TResult> resultClass)
    Creates a change stream for this database.
    ChangeStreamIterable<org.bson.Document>
    watch(List<? extends org.bson.conversions.Bson> pipeline)
    Creates a change stream for this database.
    <TResult> ChangeStreamIterable<TResult>
    watch(List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
    Creates a change stream for this database.
    withCodecRegistry(org.bson.codecs.configuration.CodecRegistry codecRegistry)
    Create a new MongoDatabase instance with a different codec registry.
    withReadConcern(com.mongodb.ReadConcern readConcern)
    Create a new MongoDatabase instance with a different read concern.
    withReadPreference(com.mongodb.ReadPreference readPreference)
    Create a new MongoDatabase instance with a different read preference.
    withTimeout(long timeout, TimeUnit timeUnit)
    Create a new MongoDatabase instance with the set time limit for the full execution of an operation.
    withWriteConcern(com.mongodb.WriteConcern writeConcern)
    Create a new MongoDatabase instance with a different write concern.
  • Method Details

    • getName

      String getName()
      Gets the name of the database.
      Returns:
      the database name
    • getCodecRegistry

      org.bson.codecs.configuration.CodecRegistry getCodecRegistry()
      Get the codec registry for the MongoDatabase.
      Returns:
      the CodecRegistry
    • getReadPreference

      com.mongodb.ReadPreference getReadPreference()
      Get the read preference for the MongoDatabase.
      Returns:
      the ReadPreference
    • getWriteConcern

      com.mongodb.WriteConcern getWriteConcern()
      Get the write concern for the MongoDatabase.
      Returns:
      the WriteConcern
    • getReadConcern

      com.mongodb.ReadConcern getReadConcern()
      Get the read concern for the MongoDatabase.
      Returns:
      the ReadConcern
      Since:
      3.2
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • getTimeout

      @Alpha(CLIENT) @Nullable Long getTimeout(TimeUnit timeUnit)
      The time limit for the full execution of an operation.

      If not null the following deprecated options will be ignored: waitQueueTimeoutMS, socketTimeoutMS, wTimeoutMS, maxTimeMS and maxCommitTimeMS

      • null means that the timeout mechanism for operations will defer to using:
        • waitQueueTimeoutMS: The maximum wait time in milliseconds that a thread may wait for a connection to become available
        • socketTimeoutMS: How long a send or receive on a socket can take before timing out.
        • wTimeoutMS: How long the server will wait for the write concern to be fulfilled before timing out.
        • maxTimeMS: The cumulative time limit for processing operations on a cursor. See: cursor.maxTimeMS.
        • maxCommitTimeMS: The maximum amount of time to allow a single commitTransaction command to execute. See: TransactionOptions.getMaxCommitTime(java.util.concurrent.TimeUnit).
      • 0 means infinite timeout.
      • > 0 The time limit to use for the full execution of an operation.
      Parameters:
      timeUnit - the time unit
      Returns:
      the timeout in the given time unit
      Since:
      5.2
    • withCodecRegistry

      MongoDatabase withCodecRegistry(org.bson.codecs.configuration.CodecRegistry codecRegistry)
      Create a new MongoDatabase instance with a different codec registry.

      The CodecRegistry configured by this method is effectively treated by the driver as an instance of CodecProvider, which CodecRegistry extends. So there is no benefit to defining a class that implements CodecRegistry. Rather, an application should always create CodecRegistry instances using the factory methods in CodecRegistries.

      Parameters:
      codecRegistry - the new CodecRegistry for the database
      Returns:
      a new MongoDatabase instance with the different codec registry
      See Also:
      • CodecRegistries
    • withReadPreference

      MongoDatabase withReadPreference(com.mongodb.ReadPreference readPreference)
      Create a new MongoDatabase instance with a different read preference.
      Parameters:
      readPreference - the new ReadPreference for the database
      Returns:
      a new MongoDatabase instance with the different readPreference
    • withWriteConcern

      MongoDatabase withWriteConcern(com.mongodb.WriteConcern writeConcern)
      Create a new MongoDatabase instance with a different write concern.
      Parameters:
      writeConcern - the new WriteConcern for the database
      Returns:
      a new MongoDatabase instance with the different writeConcern
    • withReadConcern

      MongoDatabase withReadConcern(com.mongodb.ReadConcern readConcern)
      Create a new MongoDatabase instance with a different read concern.
      Parameters:
      readConcern - the new ReadConcern for the database
      Returns:
      a new MongoDatabase instance with the different ReadConcern
      Since:
      3.2
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • withTimeout

      @Alpha(CLIENT) MongoDatabase withTimeout(long timeout, TimeUnit timeUnit)
      Create a new MongoDatabase instance with the set time limit for the full execution of an operation.
      • 0 means infinite timeout.
      • > 0 The time limit to use for the full execution of an operation.
      Parameters:
      timeout - the timeout, which must be greater than or equal to 0
      timeUnit - the time unit
      Returns:
      a new MongoDatabase instance with the set time limit for the full execution of an operation.
      Since:
      5.2
      See Also:
    • getCollection

      MongoCollection<org.bson.Document> getCollection(String collectionName)
      Gets a collection.
      Parameters:
      collectionName - the name of the collection to return
      Returns:
      the collection
      Throws:
      IllegalArgumentException - if collectionName is invalid
      See Also:
      • MongoNamespace.checkCollectionNameValidity(String)
    • getCollection

      <TDocument> MongoCollection<TDocument> getCollection(String collectionName, Class<TDocument> documentClass)
      Gets a collection, with a specific default document class.
      Type Parameters:
      TDocument - the type of the class to use instead of Document.
      Parameters:
      collectionName - the name of the collection to return
      documentClass - the default class to cast any documents returned from the database into.
      Returns:
      the collection
    • runCommand

      org.bson.Document runCommand(org.bson.conversions.Bson command)
      Executes the given command in the context of the current database with a read preference of ReadPreference.primary().

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Parameters:
      command - the command to be run
      Returns:
      the command result
    • runCommand

      org.bson.Document runCommand(org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference)
      Executes the given command in the context of the current database with the given read preference.

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Parameters:
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      Returns:
      the command result
    • runCommand

      <TResult> TResult runCommand(org.bson.conversions.Bson command, Class<TResult> resultClass)
      Executes the given command in the context of the current database with a read preference of ReadPreference.primary().

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      command - the command to be run
      resultClass - the class to decode each document into
      Returns:
      the command result
    • runCommand

      <TResult> TResult runCommand(org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference, Class<TResult> resultClass)
      Executes the given command in the context of the current database with the given read preference.

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      resultClass - the class to decode each document into
      Returns:
      the command result
    • runCommand

      org.bson.Document runCommand(ClientSession clientSession, org.bson.conversions.Bson command)
      Executes the given command in the context of the current database with a read preference of ReadPreference.primary().

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      Returns:
      the command result
      Since:
      3.6
      Since server release
      3.6
    • runCommand

      org.bson.Document runCommand(ClientSession clientSession, org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference)
      Executes the given command in the context of the current database with the given read preference.

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      Returns:
      the command result
      Since:
      3.6
      Since server release
      3.6
    • runCommand

      <TResult> TResult runCommand(ClientSession clientSession, org.bson.conversions.Bson command, Class<TResult> resultClass)
      Executes the given command in the context of the current database with a read preference of ReadPreference.primary().

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      resultClass - the class to decode each document into
      Returns:
      the command result
      Since:
      3.6
      Since server release
      3.6
    • runCommand

      <TResult> TResult runCommand(ClientSession clientSession, org.bson.conversions.Bson command, com.mongodb.ReadPreference readPreference, Class<TResult> resultClass)
      Executes the given command in the context of the current database with the given read preference.

      Note: The behavior of runCommand is undefined if the provided command document includes a maxTimeMS field and the timeoutMS setting has been set.

      Type Parameters:
      TResult - the type of the class to use instead of Document.
      Parameters:
      clientSession - the client session with which to associate this operation
      command - the command to be run
      readPreference - the ReadPreference to be used when executing the command
      resultClass - the class to decode each document into
      Returns:
      the command result
      Since:
      3.6
      Since server release
      3.6
    • drop

      void drop()
      Drops this database.
      MongoDB documentation
      Drop database
    • drop

      void drop(ClientSession clientSession)
      Drops this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Since:
      3.6
      MongoDB documentation
      Drop database
      Since server release
      3.6
    • listCollectionNames

      ListCollectionNamesIterable listCollectionNames()
      Gets the names of all the collections in this database.
      Returns:
      an iterable containing all the names of all the collections in this database
      MongoDB documentation
      listCollections
    • listCollections

      ListCollectionsIterable<org.bson.Document> listCollections()
      Finds all the collections in this database.
      Returns:
      the list collections iterable interface
      MongoDB documentation
      listCollections
    • listCollections

      <TResult> ListCollectionsIterable<TResult> listCollections(Class<TResult> resultClass)
      Finds all the collections in this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      resultClass - the class to decode each document into
      Returns:
      the list collections iterable interface
      MongoDB documentation
      listCollections
    • listCollectionNames

      ListCollectionNamesIterable listCollectionNames(ClientSession clientSession)
      Gets the names of all the collections in this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      an iterable containing all the names of all the collections in this database
      Since:
      3.6
      MongoDB documentation
      listCollections
      Since server release
      3.6
    • listCollections

      ListCollectionsIterable<org.bson.Document> listCollections(ClientSession clientSession)
      Finds all the collections in this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      the list collections iterable interface
      Since:
      3.6
      MongoDB documentation
      listCollections
      Since server release
      3.6
    • listCollections

      <TResult> ListCollectionsIterable<TResult> listCollections(ClientSession clientSession, Class<TResult> resultClass)
      Finds all the collections in this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      resultClass - the class to decode each document into
      Returns:
      the list collections iterable interface
      Since:
      3.6
      MongoDB documentation
      listCollections
      Since server release
      3.6
    • createCollection

      void createCollection(String collectionName)
      Create a new collection with the given name.
      Parameters:
      collectionName - the name for the new collection to create
      MongoDB documentation
      Create Command
    • createCollection

      void createCollection(String collectionName, com.mongodb.client.model.CreateCollectionOptions createCollectionOptions)
      Create a new collection with the selected options
      Parameters:
      collectionName - the name for the new collection to create
      createCollectionOptions - various options for creating the collection
      MongoDB documentation
      Create Command
    • createCollection

      void createCollection(ClientSession clientSession, String collectionName)
      Create a new collection with the given name.
      Parameters:
      clientSession - the client session with which to associate this operation
      collectionName - the name for the new collection to create
      Since:
      3.6
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createCollection

      void createCollection(ClientSession clientSession, String collectionName, com.mongodb.client.model.CreateCollectionOptions createCollectionOptions)
      Create a new collection with the selected options
      Parameters:
      clientSession - the client session with which to associate this operation
      collectionName - the name for the new collection to create
      createCollectionOptions - various options for creating the collection
      Since:
      3.6
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createView

      void createView(String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline)
      Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
      Parameters:
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      Since:
      3.4
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • createView

      void createView(String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline, com.mongodb.client.model.CreateViewOptions createViewOptions)
      Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
      Parameters:
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      createViewOptions - various options for creating the view
      Since:
      3.4
      MongoDB documentation
      Create Command
      Since server release
      3.4
    • createView

      void createView(ClientSession clientSession, String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline)
      Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
      Parameters:
      clientSession - the client session with which to associate this operation
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      Since:
      3.6
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • createView

      void createView(ClientSession clientSession, String viewName, String viewOn, List<? extends org.bson.conversions.Bson> pipeline, com.mongodb.client.model.CreateViewOptions createViewOptions)
      Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
      Parameters:
      clientSession - the client session with which to associate this operation
      viewName - the name of the view to create
      viewOn - the backing collection/view for the view
      pipeline - the pipeline that defines the view
      createViewOptions - various options for creating the view
      Since:
      3.6
      MongoDB documentation
      Create Command
      Since server release
      3.6
    • watch

      ChangeStreamIterable<org.bson.Document> watch()
      Creates a change stream for this database.
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamIterable<TResult> watch(Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      ChangeStreamIterable<org.bson.Document> watch(List<? extends org.bson.conversions.Bson> pipeline)
      Creates a change stream for this database.
      Parameters:
      pipeline - the aggregation pipeline to apply to the change stream.
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamIterable<TResult> watch(List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      pipeline - the aggregation pipeline to apply to the change stream
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      ChangeStreamIterable<org.bson.Document> watch(ClientSession clientSession)
      Creates a change stream for this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamIterable<TResult> watch(ClientSession clientSession, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      ChangeStreamIterable<org.bson.Document> watch(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline)
      Creates a change stream for this database.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline to apply to the change stream.
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • watch

      <TResult> ChangeStreamIterable<TResult> watch(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
      Creates a change stream for this database.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline to apply to the change stream
      resultClass - the class to decode each document into
      Returns:
      the change stream iterable
      Since:
      3.8
      MongoDB documentation
      Change Streams
      Since server release
      4.0
    • aggregate

      AggregateIterable<org.bson.Document> aggregate(List<? extends org.bson.conversions.Bson> pipeline)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Parameters:
      pipeline - the aggregation pipeline
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      3.10
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      <TResult> AggregateIterable<TResult> aggregate(List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      pipeline - the aggregation pipeline
      resultClass - the class to decode each document into
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      3.10
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      AggregateIterable<org.bson.Document> aggregate(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      3.10
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6
    • aggregate

      <TResult> AggregateIterable<TResult> aggregate(ClientSession clientSession, List<? extends org.bson.conversions.Bson> pipeline, Class<TResult> resultClass)
      Runs an aggregation framework pipeline on the database for pipeline stages that do not require an underlying collection, such as $currentOp and $listLocalSessions.
      Type Parameters:
      TResult - the target document type of the iterable.
      Parameters:
      clientSession - the client session with which to associate this operation
      pipeline - the aggregation pipeline
      resultClass - the class to decode each document into
      Returns:
      an iterable containing the result of the aggregation operation
      Since:
      3.10
      MongoDB documentation
      Aggregate Command
      Since server release
      3.6