Interface MongoClient

  • All Superinterfaces:
    ,

    @Immutable
    public interface MongoClient
    extends 
    A client-side representation of a MongoDB cluster. Instances can represent either a standalone MongoDB instance, a replica set, or a sharded cluster. Instance of this class are responsible for maintaining an up-to-date state of the cluster, and possibly cache resources related to this, including background threads for monitoring, and connection pools.

    Instances of this class serve as factories for MongoDatabase instances.

    Instances of this class can be created via the MongoClients factory.

    Since:
    3.7
    See Also:
    MongoClients
    • Method Detail

      • getDatabase

         databaseName)
        Gets a MongoDatabase instance for the given database name.
        Parameters:
        databaseName - the name of the database to retrieve
        Returns:
        a MongoDatabase representing the specified database
        Throws:
        - if databaseName is invalid
        See Also:
        MongoNamespace.checkDatabaseNameValidity(String)
      • startSession

        ClientSession startSession()
        Creates a client session with default options.

        Note: A ClientSession instance can not be used concurrently in multiple operations.

        Returns:
        the client session
        Since server release
      • startSession

        ClientSession startSession​(ClientSessionOptions options)
        Creates a client session.

        Note: A ClientSession instance can not be used concurrently in multiple operations.

        Parameters:
        options - the options for the client session
        Returns:
        the client session
        Since server release
      • close

        void close()
        Close the client, which will close all underlying cached resources, including, for example, sockets and background monitoring threads.
        Specified by:
         in interface 
        Specified by:
         in interface 
      • listDatabaseNames

        > listDatabaseNames()
        Get a list of the database names
        Returns:
        an iterable containing all the names of all the databases
        MongoDB documentation
      • listDatabaseNames

        > listDatabaseNames​(ClientSession clientSession)
        Get a list of the database names
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        an iterable containing all the names of all the databases
        MongoDB documentation
        Since server release
      • listDatabases

        ListDatabasesIterable<Document> listDatabases​(ClientSession clientSession)
        Gets the list of databases
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the list databases iterable interface
        MongoDB documentation
        Since server release
      • listDatabases

        <TResult> <TResult> resultClass)
        Gets the list of databases
        Type Parameters:
        TResult - the type of the class to use instead of Document.
        Parameters:
        resultClass - the class to cast the database documents to
        Returns:
        the list databases iterable interface
      • listDatabases

        <TResult> ListDatabasesIterable<TResult> listDatabases​(ClientSession clientSession,
                                                               <TResult> resultClass)
        Gets the list of databases
        Type Parameters:
        TResult - the type of the class to use instead of Document.
        Parameters:
        clientSession - the client session with which to associate this operation
        resultClass - the class to cast the database documents to
        Returns:
        the list databases iterable interface
        MongoDB documentation
        Since server release
      • watch

        ChangeStreamIterable<Document> watch()
        Creates a change stream for this client.
        Returns:
        the change stream iterable
        Since:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> <TResult> resultClass)
        Creates a change stream for this client.
        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
        Since server release
      • watch

        <? extends Bson> pipeline)
        Creates a change stream for this client.
        Parameters:
        pipeline - the aggregation pipeline to apply to the change stream.
        Returns:
        the change stream iterable
        Since:
        3.8
        MongoDB documentation
        Since server release
      • watch

        <TResult> <? extends Bson> pipeline,
                                                      <TResult> resultClass)
        Creates a change stream for this client.
        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
        Since server release
      • watch

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

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      <TResult> resultClass)
        Creates a change stream for this client.
        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
        Since server release
      • watch

        ChangeStreamIterable<Document> watch​(ClientSession clientSession,
                                             <? extends Bson> pipeline)
        Creates a change stream for this client.
        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
        Since server release
      • watch

        <TResult> ChangeStreamIterable<TResult> watch​(ClientSession clientSession,
                                                      <? extends Bson> pipeline,
                                                      <TResult> resultClass)
        Creates a change stream for this client.
        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
        Since server release