case class MongoClient(wrapped: com.mongodb.reactivestreams.client.MongoClient) extends 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
- 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
- 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 { @link ClusterDescription} whose { @code clusterType} 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 a { @link ClusterListener} via the { @link ClusterSettings} in { @link com.mongodb.MongoClientSettings}.
- returns
the current cluster description
- Since
4.1
- See also
ClusterSettings.Builder#addClusterListener(ClusterListener)
com.mongodb.MongoClientSettings.Builder#applyToClusterSettings(com.mongodb.Block)
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- Since
2.4
- Note
Requires MongoDB 3.6 or greater
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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
- 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
- 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
- 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
- Since
2.4
- Note
Requires MongoDB 4.0 or greater
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: