class MongoCluster extends AnyRef
The client-side representation of a MongoDB cluster operations.
The originating MongoClient is responsible for the closing of resources. If the originator MongoClient is closed, then any operations will fail.
- Since
5.2
- See also
MongoClient
- Alphabetic
- By Inheritance
- MongoCluster
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MongoCluster(wrapped: com.mongodb.reactivestreams.client.MongoCluster)
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()
- 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}
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- 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()
- lazy val readConcern: com.mongodb.ReadConcern
Get the read concern for the MongoDatabase.
Get the read concern for the MongoDatabase.
- returns
the ReadConcern
- 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}
- 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
- 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
- Annotations
- @Alpha()
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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
- 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
- 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
- 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
- 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
- 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
- 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}
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: