Trait/Object

reactivemongo.api

DB

Related Docs: object DB | package api

Permalink

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. All

Type Members

  1. abstract type DBType <: DB

    Permalink
    Attributes
    protected

Abstract Value Members

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

    Permalink

    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]

    Permalink

    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

    Permalink

    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]

    Permalink

    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

    Permalink

    A failover strategy for sending requests.

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

    Permalink

    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

    Permalink

    This database name.

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

    Permalink

    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]

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def abortTransaction()(implicit ec: ExecutionContext): Future[DBType]

    Permalink

    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] = ...): C

    Permalink

    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

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

    Permalink

    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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def collection[C <: Collection](name: String, failoverStrategy: FailoverStrategy = failoverStrategy)(implicit producer: CollectionProducer[C] = ...): C

    Permalink

    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]

    Permalink

    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]

    Permalink

    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

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

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

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

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

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

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

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

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

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

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

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

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

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

    Permalink

    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]

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  32. def toString(): String

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

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

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

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

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

Deprecated Value Members

  1. def defaultReadPreference: ReadPreference

    Permalink
    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

    Permalink

    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]

    Permalink

    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)

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from DB to any2stringadd[DB]

Inherited by implicit conversion StringFormat from DB to StringFormat[DB]

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

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

Ungrouped