Package com.mongodb.client
Interface MongoClient
- 
- All Superinterfaces:
- AutoCloseable,- Closeable
 
 @Immutable public interface MongoClient extends Closeable 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 MongoDatabaseinstances.Instances of this class can be created via the MongoClientsfactory.- Since:
- 3.7
- See Also:
- MongoClients
 
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Close the client, which will close all underlying cached resources, including, for example, sockets and background monitoring threads.ClusterDescriptiongetClusterDescription()Gets the current cluster description.MongoDatabasegetDatabase(String databaseName)Gets aMongoDatabaseinstance for the given database name.MongoIterable<String>listDatabaseNames()Get a list of the database namesMongoIterable<String>listDatabaseNames(ClientSession clientSession)Get a list of the database namesListDatabasesIterable<Document>listDatabases()Gets the list of databasesListDatabasesIterable<Document>listDatabases(ClientSession clientSession)Gets the list of databases<TResult> ListDatabasesIterable<TResult>listDatabases(ClientSession clientSession, Class<TResult> resultClass)Gets the list of databases<TResult> ListDatabasesIterable<TResult>listDatabases(Class<TResult> resultClass)Gets the list of databasesClientSessionstartSession()Creates a client session with default options.ClientSessionstartSession(ClientSessionOptions options)Creates a client session.ChangeStreamIterable<Document>watch()Creates a change stream for this client.ChangeStreamIterable<Document>watch(ClientSession clientSession)Creates a change stream for this client.<TResult> ChangeStreamIterable<TResult>watch(ClientSession clientSession, Class<TResult> resultClass)Creates a change stream for this client.ChangeStreamIterable<Document>watch(ClientSession clientSession, List<? extends Bson> pipeline)Creates a change stream for this client.<TResult> ChangeStreamIterable<TResult>watch(ClientSession clientSession, List<? extends Bson> pipeline, Class<TResult> resultClass)Creates a change stream for this client.<TResult> ChangeStreamIterable<TResult>watch(Class<TResult> resultClass)Creates a change stream for this client.ChangeStreamIterable<Document>watch(List<? extends Bson> pipeline)Creates a change stream for this client.<TResult> ChangeStreamIterable<TResult>watch(List<? extends Bson> pipeline, Class<TResult> resultClass)Creates a change stream for this client.
 
- 
- 
- 
Method Detail- 
getDatabaseMongoDatabase getDatabase(String databaseName) Gets aMongoDatabaseinstance for the given database name.- Parameters:
- databaseName- the name of the database to retrieve
- Returns:
- a MongoDatabaserepresenting the specified database
- Throws:
- IllegalArgumentException- if databaseName is invalid
- See Also:
- MongoNamespace.checkDatabaseNameValidity(String)
 
 - 
startSessionClientSession 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
- 3.6
 
 - 
startSessionClientSession 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
- 3.6
 
 - 
closevoid close() Close the client, which will close all underlying cached resources, including, for example, sockets and background monitoring threads.- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
 
 - 
listDatabaseNamesMongoIterable<String> listDatabaseNames() Get a list of the database names- Returns:
- an iterable containing all the names of all the databases
- MongoDB documentation
- List Databases
 
 - 
listDatabaseNamesMongoIterable<String> 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
- List Databases
- Since server release
- 3.6
 
 - 
listDatabasesListDatabasesIterable<Document> listDatabases() Gets the list of databases- Returns:
- the list databases iterable interface
 
 - 
listDatabasesListDatabasesIterable<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
- List Databases
- Since server release
- 3.6
 
 - 
listDatabases<TResult> ListDatabasesIterable<TResult> listDatabases(Class<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, Class<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
- List Databases
- Since server release
- 3.6
 
 - 
watchChangeStreamIterable<Document> watch() Creates a change stream for this client.- 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 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
- Change Streams
- Since server release
- 4.0
 
 - 
watchChangeStreamIterable<Document> watch(List<? 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
- Change Streams
- Since server release
- 4.0
 
 - 
watch<TResult> ChangeStreamIterable<TResult> watch(List<? extends Bson> pipeline, Class<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
- Change Streams
- Since server release
- 4.0
 
 - 
watchChangeStreamIterable<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
- Change Streams
- Since server release
- 4.0
 
 - 
watch<TResult> ChangeStreamIterable<TResult> watch(ClientSession clientSession, Class<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
- Change Streams
- Since server release
- 4.0
 
 - 
watchChangeStreamIterable<Document> watch(ClientSession clientSession, List<? 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
- Change Streams
- Since server release
- 4.0
 
 - 
watch<TResult> ChangeStreamIterable<TResult> watch(ClientSession clientSession, List<? extends Bson> pipeline, Class<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
- Change Streams
- Since server release
- 4.0
 
 - 
getClusterDescriptionClusterDescription getClusterDescription() Gets the current cluster description.This method will not block, meaning that it may return a ClusterDescriptionwhoseclusterTypeis unknown and whoseServerDescriptions are all in the connecting state. If the application requires notifications after the driver has connected to a member of the cluster, it should register aClusterListenervia theClusterSettingsinMongoClientSettings.- Returns:
- the current cluster description
- Since:
- 3.11
- See Also:
- ClusterSettings.Builder.addClusterListener(ClusterListener),- MongoClientSettings.Builder.applyToClusterSettings(com.mongodb.Block)
 
 
- 
 
-