| Interface | Description | 
|---|---|
| Block<T> | An interface for applying some logic against the given parameter. | 
| Cursor | Interface for providing consistent behaviour between different Cursor implementations. | 
| DBCallback | The DB callback interface. | 
| DBCallbackFactory | Factory for creating concrete implementations of DBCallback. | 
| DBDecoder | An interface for decoders of BSON into instances of DBObject that belong to a DBCollection. | 
| DBDecoderFactory | Creates concrete DBDecoder instances. | 
| DBEncoder | An interface for encoders of BSONObject to BSON. | 
| DBEncoderFactory | Creates concrete DBEncoder instances. | 
| DBObject | This interface adds some specific behaviour to  BSONObjectfor MongoDB documents. | 
| Function<T,R> | Apply a function to the input object yielding an appropriate result object. | 
| Class | Description | 
|---|---|
| AggregationOptions | The options to apply to an aggregate operation. | 
| AggregationOptions.Builder | Builder for creating  AggregationOptions. | 
| AggregationOutput | Container for the result of aggregation operation. | 
| BasicDBList | An implementation of List that reflects the way BSON lists work. | 
| BasicDBObject | A basic implementation of BSON object that is MongoDB specific. | 
| BasicDBObjectBuilder | Utility for building complex objects. | 
| BSONTimestampCodec | Knows how to encode and decode BSON timestamps. | 
| BulkUpdateRequestBuilder | A builder for a single update request. | 
| BulkWriteError | Represents an error for an item included in a bulk write operation, e.g. | 
| BulkWriteOperation | A bulk write operation. | 
| BulkWriteRequestBuilder | A builder for a single write request. | 
| BulkWriteResult | The result of a successful bulk write operation. | 
| BulkWriteUpsert | Represents an upsert request in a bulk write operation that resulted in an insert. | 
| Bytes | Class that hold definitions of the wire protocol | 
| CommandResult | A simple wrapper to hold the result of a command. | 
| ConnectionString | Represents a Connection String. | 
| DB | A thread-safe client view of a logical database in a MongoDB cluster. | 
| DBAddress | Deprecated This class is no longer needed, as the driver does not rely on it for anything anymore. | 
| DBCollection | Implementation of a database collection. | 
| DBCursor | An iterator over database results. | 
| DBObjectCodec | A collectible codec for a DBObject. | 
| DBObjectCodecProvider | A provider for a DBObjectCodec. | 
| DBRef | A representation of a database reference. | 
| DBRefCodec | A Codec for DBRef instances. | 
| DBRefCodecProvider | A codec provider for DBRef. | 
| DefaultDBCallback | An implementation of DBCallback that decodes into a DBObject. | 
| DefaultDBDecoder | An implementation of DBDecoder | 
| DefaultDBEncoder | The default BSON encoder for BSONObject instances. | 
| GroupCommand | This class groups the argument for a group operation and can build the underlying command object | 
| InsertOptions | Options related to insertion of documents into MongoDB. | 
| LazyDBCallback | A  BSONCallbackfor the creation ofLazyDBObjectandLazyDBListinstances. | 
| LazyDBDecoder | A decoder for  LazyDBObjectinstances. | 
| LazyDBEncoder | Encoder that only knows how to encode BSONObject instances of type LazyDBObject. | 
| LazyDBList | A  LazyDBObjectrepresenting a BSON array. | 
| LazyDBObject | An immutable  DBObjectbacked by a byte buffer that lazily provides keys and values on request. | 
| MapReduceCommand | This class groups the argument for a map/reduce operation and can build the underlying command object | 
| MapReduceOutput | Represents the result of a map/reduce operation. | 
| Mongo | A database connection with internal connection pooling. | 
| Mongo.Holder | Mongo.Holder can be used as a static place to hold several instances of Mongo. | 
| MongoClient | A MongoDB client with internal connection pooling. | 
| MongoClientOptions | Various settings to control the behavior of a  MongoClient. | 
| MongoClientOptions.Builder | A builder for MongoClientOptions so that MongoClientOptions can be immutable, and to support easier construction through chaining. | 
| MongoClientURI | Represents a URI
 which can be used to create a MongoClient instance. | 
| MongoCredential | Represents credentials to authenticate to a mongo server,as well as the source of the credentials and the authentication mechanism to
 use. | 
| MongoNamespace | A MongoDB namespace, which includes a database name and collection name. | 
| MongoOptions | Deprecated Please use  MongoClientOptionsinstead. | 
| MongoURI | Deprecated Replaced by  MongoClientURI | 
| ParallelScanOptions | The options to use for a parallel collection scan. | 
| ParallelScanOptions.Builder | A builder for the options | 
| QueryBuilder | Utility for creating DBObject queries | 
| QueryOperators | MongoDB keywords for various query operations. | 
| ReadConcern | A read concern allows clients to choose a level of isolation for their reads. | 
| ReadPreference | A class that represents preferred replica set members to which a query or command can be sent. | 
| ReflectionDBObject | This class enables to map simple Class fields to a BSON object fields | 
| ReflectionDBObject.JavaWrapper | Represents a wrapper around the DBObject to interface with the Class fields | 
| ReplicaSetStatus | Keeps replica set status. | 
| ServerAddress | Represents the location of a Mongo server - i.e. | 
| ServerCursor | A class representing a cursor id associated with a server address (host/port) Since cursor ids are only useful in the context of a single
 MongoDB server process, you need both values to do a getMore on the cursor. | 
| Tag | A replica set tag. | 
| TaggableReadPreference | Abstract class for all preference which can be combined with tags | 
| TagSet | An immutable set of tags, used to select members of a replica set to use for read operations. | 
| WriteConcern | Controls the acknowledgment of write operations with various options. | 
| WriteConcern.Majority | Deprecated | 
| WriteConcernError | An error representing a failure by the server to apply the requested write concern to the bulk operation. | 
| WriteConcernResult | The result of a successful write operation. | 
| WriteError | Represents the details of a write error , e.g. | 
| WriteResult | This class lets you access the results of the previous acknowledged write. | 
| Enum | Description | 
|---|---|
| AggregationOptions.OutputMode | Enumeration to define where the results of the aggregation will be output. | 
| AuthenticationMechanism | An enumeration of the MongodDB-supported authentication mechanisms. | 
| CursorType | An enumeration of cursor types. | 
| ErrorCategory | A categorization of errors returned by a MongoDB server command. | 
| ExplainVerbosity | An enumeration of the verbosity levels available for explaining query execution. | 
| MapReduceCommand.OutputType | Represents the different options available for outputting the results of a map-reduce operation. | 
| ReadConcernLevel | A read concern level allows clients to choose a level of isolation for their reads. | 
| Exception | Description | 
|---|---|
| BulkWriteException | An exception that represents all errors associated with a bulk write operation. | 
| DuplicateKeyException | Subclass of  WriteConcernExceptionrepresenting a duplicate key exception | 
| MongoBulkWriteException | An exception that represents all errors associated with a bulk write operation. | 
| MongoClientException | A base class for exceptions indicating a failure condition with the MongoClient. | 
| MongoCommandException | An exception indicating that a command sent to a MongoDB server returned a failure. | 
| MongoConfigurationException | An exception indicating a configuration error in the client. | 
| MongoCursorNotFoundException | Subclass of  MongoExceptionrepresenting a cursor-not-found exception. | 
| MongoException | Top level Exception for all Exceptions, server-side or client-side, that come from the driver. | 
| MongoExecutionTimeoutException | Exception indicating that the execution of the current operation timed out as a result of the maximum operation time being exceeded. | 
| MongoGridFSException | An exception indicating that a failure occurred in GridFS. | 
| MongoIncompatibleDriverException | An exception indicating that this version of the driver is not compatible with at least one of the servers that it is currently
 connected to. | 
| MongoInternalException | A Mongo exception internal to the driver, not carrying any error code. | 
| MongoInterruptedException | A non-checked exception indicating that the driver has been interrupted by a call to Thread.interrupt. | 
| MongoNodeIsRecoveringException | An exception indicating that the server is a member of a replica set but is in recovery mode, and therefore refused to execute
 the operation. | 
| MongoNotPrimaryException | An exception indicating that the server is a member of a replica set but is not the primary, and therefore refused to execute either a
 write operation or a read operation that required a primary. | 
| MongoQueryException | An exception indicating that a query operation failed on the server. | 
| MongoSecurityException | This exception is thrown when there is an error reported by the underlying client authentication mechanism. | 
| MongoServerException | An exception indicating that some error has been raised by a MongoDB server in response to an operation. | 
| MongoSocketClosedException | This exception is thrown when trying to read or write from a closed socket. | 
| MongoSocketException | Subclass of  MongoExceptionrepresenting a network-related exception | 
| MongoSocketOpenException | This exception is thrown when there is an exception opening a Socket. | 
| MongoSocketReadException | This exception is thrown when there is an exception reading a response from a Socket. | 
| MongoSocketReadTimeoutException | This exception is thrown when there is a timeout reading a response from the socket. | 
| MongoSocketWriteException | This exception is thrown when there is an exception writing a response to a Socket. | 
| MongoTimeoutException | An exception indicating that the driver has timed out waiting for either a server or a connection to become available. | 
| MongoWaitQueueFullException | An exception indicating that the queue for waiting for a pooled connection is full. | 
| MongoWriteConcernException | An exception indicating a failure to apply the write concern to the requested write operation | 
| MongoWriteException | An exception indicating the failure of a write operation. | 
| WriteConcernException | An exception representing an error reported due to a write failure. |