case class MongoClient(wrapped: com.mongodb.reactivestreams.client.MongoClient) extends MongoCluster with Closeable with Product with Serializable
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.
Instance of this class server as factories for MongoDatabase instances.
- wrapped
the underlying java MongoClient
- Since
1.0
- Alphabetic
- By Inheritance
- MongoClient
- Serializable
- Product
- Equals
- Closeable
- AutoCloseable
- MongoCluster
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MongoClient(wrapped: com.mongodb.reactivestreams.client.MongoClient)
- wrapped
the underlying java MongoClient
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- def close(): Unit
Close the client, which will close all underlying cached resources, including, for example, sockets and background monitoring threads.
Close the client, which will close all underlying cached resources, including, for example, sockets and background monitoring threads.
- Definition Classes
- MongoClient → Closeable → AutoCloseable
- lazy val codecRegistry: CodecRegistry
Get the codec registry for the MongoDatabase.
Get the codec registry for the MongoDatabase.
- returns
the { @link org.bson.codecs.configuration.CodecRegistry}
- Definition Classes
- MongoCluster
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getClusterDescription: ClusterDescription
Gets the current cluster description.
Gets the current cluster description.
This method will not block, meaning that it may return a
ClusterDescription
whoseclusterType
is unknown and whose { @link com.mongodb.connection.ServerDescription}s 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 aClusterListener
via theClusterSettings
inMongoClientSettings
.- returns
the current cluster description
- Since
4.1
- def getDatabase(name: String): MongoDatabase
Gets the database with the given name.
Gets the database with the given name.
- name
the name of the database
- returns
the database
- Definition Classes
- MongoCluster
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def listDatabaseNames(clientSession: ClientSession): Observable[String]
Get a list of the database names
Get a list of the database names
- clientSession
the client session with which to associate this operation
- returns
an iterable containing all the names of all the databases
- Definition Classes
- MongoCluster
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def listDatabaseNames(): Observable[String]
Get a list of the database names
Get a list of the database names
- returns
an iterable containing all the names of all the databases
- Definition Classes
- MongoCluster
- def listDatabases[TResult](clientSession: ClientSession)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): ListDatabasesObservable[TResult]
Gets the list of databases
Gets the list of databases
- TResult
the type of the class to use instead of
Document
.- clientSession
the client session with which to associate this operation
- returns
the fluent list databases interface
- Definition Classes
- MongoCluster
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def listDatabases[TResult]()(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): ListDatabasesObservable[TResult]
Gets the list of databases
Gets the list of databases
- TResult
the type of the class to use instead of
Document
.- returns
the fluent list databases interface
- Definition Classes
- MongoCluster
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- lazy val readConcern: com.mongodb.ReadConcern
Get the read concern for the MongoDatabase.
- lazy val readPreference: com.mongodb.ReadPreference
Get the read preference for the MongoDatabase.
Get the read preference for the MongoDatabase.
- returns
the { @link com.mongodb.ReadPreference}
- Definition Classes
- MongoCluster
- def startSession(options: ClientSessionOptions): SingleObservable[ClientSession]
Creates a client session.
Creates a client session.
Note: A ClientSession instance can not be used concurrently in multiple asynchronous operations.
- options
the options for the client session
- Definition Classes
- MongoCluster
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def startSession(): SingleObservable[ClientSession]
Creates a client session.
Creates a client session.
Note: A ClientSession instance can not be used concurrently in multiple asynchronous operations.
- Definition Classes
- MongoCluster
- Since
2.4
- Note
Requires MongoDB 3.6 or greater
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- lazy val timeout: Option[Duration]
The time limit for the full execution of an operation.
The time limit for the full execution of an operation.
If not null the following deprecated options will be ignored:
waitQueueTimeoutMS
,socketTimeoutMS
,wTimeoutMS
,maxTimeMS
andmaxCommitTimeMS
.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 availablesocketTimeoutMS
: 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 time limit for processing operations on a cursor. See: [cursor.maxTimeMS](https://docs.mongodb.com/manual/reference/method/cursor.maxTimeMS").maxCommitTimeMS
: The maximum amount of time to allow a singlecommitTransaction
command to execute.
0
means infinite timeout.> 0
The time limit to use for the full execution of an operation.
- returns
the optional timeout duration
- Definition Classes
- MongoCluster
- Annotations
- @Alpha()
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def watch[C](clientSession: ClientSession, pipeline: Seq[Bson])(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): ChangeStreamObservable[C]
Creates a change stream for this collection.
Creates a change stream for this collection.
- C
the target document type of the observable.
- clientSession
the client session with which to associate this operation
- pipeline
the aggregation pipeline to apply to the change stream
- returns
the change stream observable
- Definition Classes
- MongoCluster
- Since
2.4
- Note
Requires MongoDB 4.0 or greater
- def watch[C](clientSession: ClientSession)(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): ChangeStreamObservable[C]
Creates a change stream for this collection.
Creates a change stream for this collection.
- C
the target document type of the observable.
- clientSession
the client session with which to associate this operation
- returns
the change stream observable
- Definition Classes
- MongoCluster
- Since
2.4
- Note
Requires MongoDB 4.0 or greater
- def watch[C](pipeline: Seq[Bson])(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): ChangeStreamObservable[C]
Creates a change stream for this collection.
Creates a change stream for this collection.
- C
the target document type of the observable.
- pipeline
the aggregation pipeline to apply to the change stream
- returns
the change stream observable
- Definition Classes
- MongoCluster
- Since
2.4
- Note
Requires MongoDB 4.0 or greater
- def watch[C]()(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): ChangeStreamObservable[C]
Creates a change stream for this collection.
Creates a change stream for this collection.
- C
the target document type of the observable.
- returns
the change stream observable
- Definition Classes
- MongoCluster
- Since
2.4
- Note
Requires MongoDB 4.0 or greater
- def withCodecRegistry(codecRegistry: CodecRegistry): MongoCluster
Create a new MongoCluster instance with a different codec registry.
Create a new MongoCluster instance with a different codec registry.
The { @link CodecRegistry} configured by this method is effectively treated by the driver as an instance of { @link CodecProvider}, which { @link CodecRegistry} extends. So there is no benefit to defining a class that implements { @link CodecRegistry}. Rather, an application should always create { @link CodecRegistry} instances using the factory methods in { @link CodecRegistries}.
- codecRegistry
the new { @link org.bson.codecs.configuration.CodecRegistry} for the collection
- returns
a new MongoCluster instance with the different codec registry
- Definition Classes
- MongoCluster
- See also
CodecRegistries
- def withReadConcern(readConcern: com.mongodb.ReadConcern): MongoCluster
Create a new MongoCluster instance with a different read concern.
Create a new MongoCluster instance with a different read concern.
- readConcern
the new ReadConcern for the collection
- returns
a new MongoCluster instance with the different ReadConcern
- Definition Classes
- MongoCluster
- Since
1.1
- def withReadPreference(readPreference: com.mongodb.ReadPreference): MongoCluster
Create a new MongoCluster instance with a different read preference.
Create a new MongoCluster instance with a different read preference.
- readPreference
the new { @link com.mongodb.ReadPreference} for the collection
- returns
a new MongoCluster instance with the different readPreference
- Definition Classes
- MongoCluster
- def withTimeout(timeout: Duration): MongoCluster
Create a new MongoCluster instance with the set time limit for the full execution of an operation.
Create a new MongoCluster 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.- timeout
the timeout, which must be greater than or equal to 0
- returns
a new MongoCluster instance with the set time limit for operations
- Definition Classes
- MongoCluster
- Annotations
- @Alpha()
- Since
5.2
- def withWriteConcern(writeConcern: com.mongodb.WriteConcern): MongoCluster
Create a new MongoCluster instance with a different write concern.
Create a new MongoCluster instance with a different write concern.
- writeConcern
the new { @link com.mongodb.WriteConcern} for the collection
- returns
a new MongoCluster instance with the different writeConcern
- Definition Classes
- MongoCluster
- lazy val writeConcern: com.mongodb.WriteConcern
Get the write concern for the MongoDatabase.
Get the write concern for the MongoDatabase.
- returns
the { @link com.mongodb.WriteConcern}
- Definition Classes
- MongoCluster
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
This is the documentation for the MongoDB Scala driver.
Driver structure
The mongodb scala driver.
To get started you need a MongoClient instance, either from a connection string or via a org.mongodb.scala.MongoClientSettings.
Notable packages include: