sealed trait DB extends AnyRef

The reference to a MongoDB database, obtained from a reactivemongo.api.MongoConnection.

You should consider the provided reactivemongo.api.DefaultDB implementation.

import scala.concurrent.ExecutionContext
import reactivemongo.api.MongoConnection

def foo(connection: MongoConnection)(implicit ec: ExecutionContext) = {
  val db = connection.database("plugin")
  val collection = db.map(_("acoll"))
}
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DB
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type DBType <: DB
    Attributes
    protected

Abstract Value Members

  1. abstract def abortTransaction(failIfNotStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Aborts the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    Aborts the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    returns

    The database reference with transaction aborted (but not session)

  2. abstract def commitTransaction(failIfNotStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Commits the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    Commits the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def commitIt(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.commitTransaction(failIfNotStarted = true)
    returns

    The database reference with transaction commited (but not session)

  3. abstract def connection: MongoConnection

    The reactivemongo.api.MongoConnection that will be used to query this database.

    The reactivemongo.api.MongoConnection that will be used to query this database.

    Annotations
    @transient()
  4. abstract def endSession(failIfNotStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Ends (closes) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    Ends (closes) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    returns

    The database reference with session ended

  5. abstract def failoverStrategy: FailoverStrategy

    A failover strategy for sending requests.

  6. abstract def killSession(failIfNotStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Kills (aborts) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    Kills (aborts) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    returns

    The database reference with session aborted

  7. abstract def name: String

    This database name.

  8. abstract def startSession(failIfAlreadyStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Starts a new session (since MongoDB 3.6).

    Starts a new session (since MongoDB 3.6).

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def startIt(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.startSession(failIfAlreadyStarted = true)
    failIfAlreadyStarted

    if true fails if a session is already started

    returns

    The database reference updated with a new session, if none is already started with the current reference.

  9. abstract def startTransaction(writeConcern: Option[WriteConcern], failIfAlreadyStarted: Boolean)(implicit ec: ExecutionContext): Future[DBType]

    Starts a transaction (since MongoDB 4.0), if none is already started with the current client session otherwise does nothing.

    Starts a transaction (since MongoDB 4.0), if none is already started with the current client session otherwise does nothing.

    It fails if no session is previously started (see startSession).

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.{ DefaultDB, WriteConcern }
    
    def doIt(db: DefaultDB, aWriteConcern: Option[WriteConcern])(
      implicit ec: ExecutionContext) =
      db.startTransaction(aWriteConcern, failIfAlreadyStarted = true)
    writeConcern

    the write concern for the transaction operation

    returns

    The database reference with transaction.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from DB toany2stringadd[DB] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (DB, B)
    Implicit
    This member is added by an implicit conversion from DB toArrowAssoc[DB] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def abortTransaction()(implicit ec: ExecutionContext): Future[DBType]

    Aborts the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    Aborts the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def equivalentTo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.abortTransaction(failIfNotStarted = false)
    returns

    The database reference with transaction aborted (but not session)

    Annotations
    @inline()
  7. def apply[C <: Collection](name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit producer: CollectionProducer[C] = Serialization.defaultCollectionProducer): C

    Returns a reactivemongo.api.Collection reference from this database (alias for the collection method).

    Returns a reactivemongo.api.Collection reference from this database (alias for the collection method).

    C

    the Collection type

    name

    the name of the collection to resolve

    failoverStrategy

    the failover strategy to override the default one

  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def authenticate(user: String, password: String)(implicit ec: ExecutionContext): Future[SuccessfulAuthentication]

    Authenticates the connection on this database.

    Authenticates the connection on this database.

    user

    the name of the user

    password

    the user password

    See also

    MongoConnection.authenticate

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def collection[C <: Collection](name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit producer: CollectionProducer[C] = Serialization.defaultCollectionProducer): C

    Returns a reactivemongo.api.Collection reference from this database.

    Returns a reactivemongo.api.Collection reference from this database.

    C

    the Collection type

    name

    the name of the collection to resolve

    failoverStrategy

    the failover strategy to override the default one

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DB
    
    def resoleColl(db: DB)(implicit ec: ExecutionContext) =
      db.collection("acoll")
  12. final def commitTransaction()(implicit ec: ExecutionContext): Future[DBType]

    Commits the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    Commits the transaction associated with the current client session (since MongoDB 4.0), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def equivalentTo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.commitTransaction(failIfNotStarted = false)
    returns

    The database reference with transaction commited (but not session)

    Annotations
    @inline()
  13. final def endSession()(implicit ec: ExecutionContext): Future[DBType]

    Ends (closes) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    Ends (closes) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def equivalentTo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.endSession(failIfNotStarted = false)
    returns

    The database reference with session ended

    Annotations
    @inline()
  14. def ensuring(cond: (DB) => Boolean, msg: => Any): DB
    Implicit
    This member is added by an implicit conversion from DB toEnsuring[DB] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: (DB) => Boolean): DB
    Implicit
    This member is added by an implicit conversion from DB toEnsuring[DB] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean, msg: => Any): DB
    Implicit
    This member is added by an implicit conversion from DB toEnsuring[DB] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean): DB
    Implicit
    This member is added by an implicit conversion from DB toEnsuring[DB] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  20. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  21. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from DB toStringFormat[DB] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  22. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. final def killSession()(implicit ec: ExecutionContext): Future[DBType]

    Kills (aborts) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    Kills (aborts) the session associated with this database reference (since MongoDB 3.6), if any otherwise does nothing .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def equivalentTo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.killSession(failIfNotStarted = false)
    returns

    The database reference with session aborted

    Annotations
    @inline()
  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  29. final def startSession()(implicit ec: ExecutionContext): Future[DBType]

    Starts a new session (since MongoDB 3.6), does nothing if a session has already being started .

    Starts a new session (since MongoDB 3.6), does nothing if a session has already being started .

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.DefaultDB
    
    def equivalentTo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.startSession(failIfAlreadyStarted = false)
    returns

    The database reference updated with a new session

    Annotations
    @inline()
  30. final def startTransaction(writeConcern: Option[WriteConcern])(implicit ec: ExecutionContext): Future[DBType]

    Starts a transaction (since MongoDB 4.0), if none is already started with the current client session otherwise does nothing.

    Starts a transaction (since MongoDB 4.0), if none is already started with the current client session otherwise does nothing.

    It fails if no session is previously started (see startSession).

    EXPERIMENTAL: API may change without notice.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.{ DefaultDB, WriteConcern }
    
    def equivalentTo(db: DefaultDB, aWriteConcern: Option[WriteConcern])(
      implicit ec: ExecutionContext) =
      db.startTransaction(aWriteConcern, failIfAlreadyStarted = false)
    writeConcern

    the write concern for the transaction operation

    returns

    The database reference with transaction.

    Annotations
    @inline()
  31. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def defaultReadPreference: ReadPreference
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 0.19.4) Internal: will be made private

  2. def sibling(name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit ec: ExecutionContext): DefaultDB

    Returns the database of the given name on the same MongoConnection.

    Returns the database of the given name on the same MongoConnection.

    name

    the name of the collection to resolve

    failoverStrategy

    the failover strategy to override the default one

    Annotations
    @deprecated
    Deprecated

    (Since version 0.16.0) Use sibling1

    See also

    sibling1

  3. def sibling1(name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit ec: ExecutionContext): Future[DefaultDB]

    Returns the database of the given name on the same MongoConnection.

    Returns the database of the given name on the same MongoConnection.

    name

    the name of the collection to resolve

    failoverStrategy

    the failover strategy to override the default one

    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.4) Use connection.database(name)

  4. def [B](y: B): (DB, B)
    Implicit
    This member is added by an implicit conversion from DB toArrowAssoc[DB] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromDB to any2stringadd[DB]

Inherited by implicit conversion StringFormat fromDB to StringFormat[DB]

Inherited by implicit conversion Ensuring fromDB to Ensuring[DB]

Inherited by implicit conversion ArrowAssoc fromDB to ArrowAssoc[DB]

Ungrouped