reactivemongo.api

DB

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
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. DB
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

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.

    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.

    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.

    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.

    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.

    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.

    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: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from DB to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (DB, B)

    Implicit information
    This member is added by an implicit conversion from DB to ArrowAssoc[DB] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  8. final def abortTransaction()(implicit ec: ExecutionContext): Future[DBType]

    Aborts the transaction associated with the current client session (since MongoDB 4.

    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()
  9. def apply[C <: Collection](name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit producer: CollectionProducer[C] = ...): 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

  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. 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

  12. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def collection[C <: Collection](name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit producer: CollectionProducer[C] = ...): 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")
  14. final def commitTransaction()(implicit ec: ExecutionContext): Future[DBType]

    Commits the transaction associated with the current client session (since MongoDB 4.

    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()
  15. final def endSession()(implicit ec: ExecutionContext): Future[DBType]

    Ends (closes) the session associated with this database reference (since MongoDB 3.

    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()
  16. def ensuring(cond: (DB) ⇒ Boolean, msg: ⇒ Any): DB

    Implicit information
    This member is added by an implicit conversion from DB to Ensuring[DB] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: (DB) ⇒ Boolean): DB

    Implicit information
    This member is added by an implicit conversion from DB to Ensuring[DB] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean, msg: ⇒ Any): DB

    Implicit information
    This member is added by an implicit conversion from DB to Ensuring[DB] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. def ensuring(cond: Boolean): DB

    Implicit information
    This member is added by an implicit conversion from DB to Ensuring[DB] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  20. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  22. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. def formatted(fmtstr: String): String

    Implicit information
    This member is added by an implicit conversion from DB to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  24. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  25. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  26. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  27. final def killSession()(implicit ec: ExecutionContext): Future[DBType]

    Kills (aborts) the session associated with this database reference (since MongoDB 3.

    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()
  28. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  29. final def notify(): Unit

    Definition Classes
    AnyRef
  30. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  31. final def startSession()(implicit ec: ExecutionContext): Future[DBType]

    Starts a new session (since MongoDB 3.

    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()
  32. final def startTransaction(writeConcern: Option[WriteConcern])(implicit ec: ExecutionContext): Future[DBType]

    Starts a transaction (since MongoDB 4.

    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()
  33. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  34. def toString(): String

    Definition Classes
    AnyRef → Any
  35. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. def [B](y: B): (DB, B)

    Implicit information
    This member is added by an implicit conversion from DB to ArrowAssoc[DB] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from DB to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (dB: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from DB to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (dB: StringFormat).self
    Definition Classes
    StringFormat

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 x: DB

    Implicit information
    This member is added by an implicit conversion from DB to ArrowAssoc[DB] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (dB: ArrowAssoc[DB]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  5. def x: DB

    Implicit information
    This member is added by an implicit conversion from DB to Ensuring[DB] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (dB: Ensuring[DB]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from DB to StringAdd

Inherited by implicit conversion any2stringfmt from DB to StringFormat

Inherited by implicit conversion any2ArrowAssoc from DB to ArrowAssoc[DB]

Inherited by implicit conversion any2Ensuring from DB to Ensuring[DB]

Ungrouped