MongoDB Java Driver legacy all-in-one JAR providing comprehensive database connectivity for Java applications with synchronous APIs, CRUD operations, aggregation, GridFS, change streams, and authentication support
—
Core client creation and connection management for MongoDB deployments including standalone servers, replica sets, and sharded clusters with automatic failover and connection pooling.
The primary entry point for connecting to MongoDB with built-in connection pooling and cluster management.
/**
* MongoDB client with internal connection pooling for most applications
*/
public class MongoClient extends Mongo implements Closeable {
// Basic constructors
public MongoClient();
public MongoClient(String host);
public MongoClient(String host, int port);
public MongoClient(ServerAddress addr);
// Replica set / cluster constructors
public MongoClient(List<ServerAddress> seeds);
public MongoClient(List<ServerAddress> seeds, MongoClientOptions options);
// URI-based constructor
public MongoClient(MongoClientURI uri);
// Authentication constructors
public MongoClient(ServerAddress addr, MongoCredential credential, MongoClientOptions options);
public MongoClient(List<ServerAddress> seeds, MongoCredential credential, MongoClientOptions options);
// Database access
public MongoDatabase getDatabase(String databaseName);
// Database listing
public MongoIterable<String> listDatabaseNames();
public ListDatabasesIterable<Document> listDatabases();
// Session management
public ClientSession startSession();
public ClientSession startSession(ClientSessionOptions options);
// Change streams
public ChangeStreamIterable<Document> watch();
public ChangeStreamIterable<Document> watch(List<? extends Bson> pipeline);
// Resource management
public void close();
public MongoClientOptions getMongoClientOptions();
}Basic Connection Examples:
// Connect to localhost:27017
MongoClient client = new MongoClient();
// Connect to specific host and port
MongoClient client = new MongoClient("mongodb.example.com", 27017);
// Connect using server address
MongoClient client = new MongoClient(new ServerAddress("mongodb.example.com", 27017));Replica Set Connection:
// Connect to replica set
List<ServerAddress> seeds = Arrays.asList(
new ServerAddress("mongo1.example.com", 27017),
new ServerAddress("mongo2.example.com", 27017),
new ServerAddress("mongo3.example.com", 27017)
);
MongoClient client = new MongoClient(seeds);Connection String (URI) Based:
// Connect using MongoDB URI
MongoClientURI uri = new MongoClientURI("mongodb://user:password@mongo1.example.com:27017,mongo2.example.com:27017/mydb");
MongoClient client = new MongoClient(uri);Modern interface-based client for dependency injection and testing scenarios.
/**
* Modern MongoDB client interface
*/
public interface MongoClient extends Closeable {
MongoDatabase getDatabase(String databaseName);
MongoIterable<String> listDatabaseNames();
ListDatabasesIterable<Document> listDatabases();
ClientSession startSession();
ClientSession startSession(ClientSessionOptions options);
ChangeStreamIterable<Document> watch();
void close();
}Factory class for creating MongoClient instances with modern configuration patterns.
/**
* Factory for MongoClient instances
*/
public final class MongoClients {
/**
* Create a default MongoClient connected to localhost:27017
*/
public static MongoClient create();
/**
* Create MongoClient from connection string
* @param connectionString MongoDB connection string
*/
public static MongoClient create(String connectionString);
/**
* Create MongoClient with detailed settings
* @param settings Client configuration settings
*/
public static MongoClient create(MongoClientSettings settings);
}Modern Client Creation Examples:
// Default connection
MongoClient client = MongoClients.create();
// Connection string
MongoClient client = MongoClients.create("mongodb://localhost:27017/mydb");
// With settings
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(new ConnectionString("mongodb://localhost:27017"))
.readPreference(ReadPreference.secondary())
.build();
MongoClient client = MongoClients.create(settings);Represents MongoDB server addresses for connection configuration.
/**
* Represents a MongoDB server address
*/
public class ServerAddress {
public ServerAddress();
public ServerAddress(String host);
public ServerAddress(String host, int port);
public ServerAddress(InetAddress addr, int port);
public ServerAddress(InetSocketAddress addr);
public String getHost();
public int getPort();
public boolean isResolved();
public InetSocketAddress getSocketAddress();
}MongoDB connection URI for comprehensive connection configuration.
/**
* MongoDB connection URI parser and configuration
*/
public class MongoClientURI {
public MongoClientURI(String uri);
public String getURI();
public String getDatabase();
public String getUsername();
public char[] getPassword();
public List<String> getHosts();
public MongoClientOptions getOptions();
public List<MongoCredential> getCredentials();
}Connection URI Format:
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]URI Examples:
// Basic connection
new MongoClientURI("mongodb://localhost:27017/mydb");
// With authentication
new MongoClientURI("mongodb://user:pass@localhost:27017/mydb");
// Replica set with options
new MongoClientURI("mongodb://mongo1:27017,mongo2:27017,mongo3:27017/mydb?replicaSet=myReplSet&readPreference=secondary");/**
* MongoDB namespace combining database and collection names
*/
public final class MongoNamespace {
public MongoNamespace(String databaseName, String collectionName);
public MongoNamespace(String fullName);
public String getDatabaseName();
public String getCollectionName();
public String getFullName();
}
/**
* Driver information for library authors
*/
public final class MongoDriverInformation {
public static Builder builder();
public static final class Builder {
public Builder driverName(String driverName);
public Builder driverVersion(String driverVersion);
public Builder driverPlatform(String driverPlatform);
public MongoDriverInformation build();
}
}Install with Tessl CLI
npx tessl i tessl/maven-org-mongodb--mongo-java-driver