case class MongoDatabase(wrapped: com.mongodb.reactivestreams.client.MongoDatabase) extends Product with Serializable
The MongoDatabase representation.
- wrapped
the underlying java MongoDatabase
- Since
1.0
- Alphabetic
- By Inheritance
- MongoDatabase
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MongoDatabase(wrapped: com.mongodb.reactivestreams.client.MongoDatabase)
- wrapped
the underlying java MongoDatabase
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
- def aggregate[C](clientSession: ClientSession, pipeline: Seq[Bson])(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): AggregateObservable[C]
Aggregates documents according to the specified aggregation pipeline.
Aggregates documents according to the specified aggregation pipeline.
- clientSession
the client session with which to associate this operation
- pipeline
the aggregate pipeline
- returns
a Observable containing the result of the aggregation operation Aggregation
- Since
2.6
- Note
Requires MongoDB 3.6 or greater
- def aggregate[C](pipeline: Seq[Bson])(implicit e: DefaultsTo[C, Document], ct: ClassTag[C]): AggregateObservable[C]
Aggregates documents according to the specified aggregation pipeline.
Aggregates documents according to the specified aggregation pipeline.
- pipeline
the aggregate pipeline
- returns
a Observable containing the result of the aggregation operation Aggregation
- Since
2.6
- Note
Requires MongoDB 3.6 or greater
- 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}
- def createCollection(clientSession: ClientSession, collectionName: String, options: CreateCollectionOptions): SingleObservable[Unit]
Create a new collection with the selected options
Create a new collection with the selected options
- clientSession
the client session with which to associate this operation
- collectionName
the name for the new collection to create
- options
various options for creating the collection
- returns
a Observable identifying when the collection has been created
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def createCollection(clientSession: ClientSession, collectionName: String): SingleObservable[Unit]
Create a new collection with the given name.
Create a new collection with the given name.
- clientSession
the client session with which to associate this operation
- collectionName
the name for the new collection to create
- returns
a Observable identifying when the collection has been created
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def createCollection(collectionName: String, options: CreateCollectionOptions): SingleObservable[Unit]
Create a new collection with the selected options
Create a new collection with the selected options
- collectionName
the name for the new collection to create
- options
various options for creating the collection
- returns
a Observable identifying when the collection has been created
- def createCollection(collectionName: String): SingleObservable[Unit]
Create a new collection with the given name.
Create a new collection with the given name.
- collectionName
the name for the new collection to create
- returns
a Observable identifying when the collection has been created
- def createView(clientSession: ClientSession, viewName: String, viewOn: String, pipeline: Seq[Bson], createViewOptions: CreateViewOptions): SingleObservable[Unit]
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
- clientSession
the client session with which to associate this operation
- viewName
the name of the view to create
- viewOn
the backing collection/view for the view
- pipeline
the pipeline that defines the view
- createViewOptions
various options for creating the view
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def createView(clientSession: ClientSession, viewName: String, viewOn: String, pipeline: Seq[Bson]): SingleObservable[Unit]
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
- clientSession
the client session with which to associate this operation
- viewName
the name of the view to create
- viewOn
the backing collection/view for the view
- pipeline
the pipeline that defines the view
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def createView(viewName: String, viewOn: String, pipeline: Seq[Bson], createViewOptions: CreateViewOptions): SingleObservable[Unit]
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
Creates a view with the given name, backing collection/view name, aggregation pipeline, and options that defines the view.
- viewName
the name of the view to create
- viewOn
the backing collection/view for the view
- pipeline
the pipeline that defines the view
- createViewOptions
various options for creating the view
- Since
1.2
- Note
Requires MongoDB 3.4 or greater
- def createView(viewName: String, viewOn: String, pipeline: Seq[Bson]): SingleObservable[Unit]
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
Creates a view with the given name, backing collection/view name, and aggregation pipeline that defines the view.
- viewName
the name of the view to create
- viewOn
the backing collection/view for the view
- pipeline
the pipeline that defines the view
- Since
1.2
- Note
Requires MongoDB 3.4 or greater
- def drop(clientSession: ClientSession): SingleObservable[Unit]
Drops this database.
Drops this database.
- clientSession
the client session with which to associate this operation
- returns
a Observable identifying when the database has been dropped
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def drop(): SingleObservable[Unit]
Drops this database.
Drops this database.
- returns
a Observable identifying when the database has been dropped
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def getCollection[TResult](collectionName: String)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): MongoCollection[TResult]
Gets a collection, with a specific default document class.
Gets a collection, with a specific default document class.
- TResult
the type of the class to use instead of Document.
- collectionName
the name of the collection to return
- returns
the collection
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def listCollectionNames(clientSession: ClientSession): ListCollectionNamesObservable
Gets the names of all the collections in this database.
Gets the names of all the collections in this database.
- clientSession
the client session with which to associate this operation
- returns
a Observable with all the names of all the collections in this database
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def listCollectionNames(): ListCollectionNamesObservable
Gets the names of all the collections in this database.
Gets the names of all the collections in this database.
- returns
a Observable with all the names of all the collections in this database
- def listCollections[TResult](clientSession: ClientSession)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): ListCollectionsObservable[TResult]
Finds all the collections in this database.
Finds all the collections in this database.
- TResult
the target document type of the iterable.
- clientSession
the client session with which to associate this operation
- returns
the fluent list collections interface
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def listCollections[TResult]()(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): ListCollectionsObservable[TResult]
Finds all the collections in this database.
Finds all the collections in this database.
- TResult
the target document type of the iterable.
- returns
the fluent list collections interface
- lazy val name: String
Gets the name of the database.
Gets the name of the database.
- returns
the database name
- 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: ReadConcern
Get the read concern for the MongoDatabase.
- lazy val readPreference: ReadPreference
Get the read preference for the MongoDatabase.
Get the read preference for the MongoDatabase.
- returns
the { @link com.mongodb.ReadPreference}
- def runCommand[TResult](clientSession: ClientSession, command: Bson, readPreference: ReadPreference)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): SingleObservable[TResult]
Executes command in the context of the current database.
Executes command in the context of the current database.
Note: The behavior of
runCommand
is undefined if the provided command document includes amaxTimeMS
field and thetimeoutMS
setting has been set.- TResult
the type of the class to use instead of Document.
- command
the command to be run
- readPreference
the ReadPreference to be used when executing the command
- returns
a Observable containing the command result
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def runCommand[TResult](clientSession: ClientSession, command: Bson)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): SingleObservable[TResult]
Executes command in the context of the current database using the primary server.
Executes command in the context of the current database using the primary server.
Note: The behavior of
runCommand
is undefined if the provided command document includes amaxTimeMS
field and thetimeoutMS
setting has been set.- TResult
the type of the class to use instead of Document.
- clientSession
the client session with which to associate this operation
- command
the command to be run
- returns
a Observable containing the command result
- Since
2.2
- Note
Requires MongoDB 3.6 or greater
- def runCommand[TResult](command: Bson, readPreference: ReadPreference)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): SingleObservable[TResult]
Executes command in the context of the current database.
Executes command in the context of the current database.
Note: The behavior of
runCommand
is undefined if the provided command document includes amaxTimeMS
field and thetimeoutMS
setting has been set.- TResult
the type of the class to use instead of Document.
- command
the command to be run
- readPreference
the ReadPreference to be used when executing the command
- returns
a Observable containing the command result
- def runCommand[TResult](command: Bson)(implicit e: DefaultsTo[TResult, Document], ct: ClassTag[TResult]): SingleObservable[TResult]
Executes command in the context of the current database using the primary server.
Executes command in the context of the current database using the primary server.
Note: The behavior of
runCommand
is undefined if the provided command document includes amaxTimeMS
field and thetimeoutMS
setting has been set.- TResult
the type of the class to use instead of Document.
- command
the command to be run
- returns
a Observable containing the command result
- 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()
- Since
5.2
- 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): MongoDatabase
Create a new MongoDatabase instance with a different codec registry.
Create a new MongoDatabase 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 MongoDatabase instance with the different codec registry
- See also
CodecRegistries
- def withReadConcern(readConcern: ReadConcern): MongoDatabase
Create a new MongoDatabase instance with a different read concern.
Create a new MongoDatabase instance with a different read concern.
- readConcern
the new ReadConcern for the collection
- returns
a new MongoDatabase instance with the different ReadConcern
- Since
1.1
- def withReadPreference(readPreference: ReadPreference): MongoDatabase
Create a new MongoDatabase instance with a different read preference.
Create a new MongoDatabase instance with a different read preference.
- readPreference
the new { @link com.mongodb.ReadPreference} for the collection
- returns
a new MongoDatabase instance with the different readPreference
- def withTimeout(timeout: Duration): MongoDatabase
Sets the time limit for the full execution of an operation.
Sets the 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 MongoDatabase instance with the set time limit for operations
- Annotations
- @Alpha()
- Since
5.2
- def withWriteConcern(writeConcern: WriteConcern): MongoDatabase
Create a new MongoDatabase instance with a different write concern.
Create a new MongoDatabase instance with a different write concern.
- writeConcern
the new { @link com.mongodb.WriteConcern} for the collection
- returns
a new MongoDatabase instance with the different writeConcern
- lazy val writeConcern: 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: