package api

Linear Supertypes
PackageCompat, LowPriorityPackage, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. api
  2. PackageCompat
  3. LowPriorityPackage
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package bson
  2. package collections
  3. package commands
  4. package gridfs
  5. package indexes

Type Members

  1. class AsyncDriver extends Driver

    The asynchronous driver (see MongoConnection).

    The asynchronous driver (see MongoConnection).

    import scala.concurrent.Future
    import reactivemongo.api.{ AsyncDriver, MongoConnection }
    
    val driver = AsyncDriver()
    val connection: Future[MongoConnection] =
      driver.connect("mongodb://node:27017")
  2. sealed trait AuthenticationMode extends AnyRef

    The mode/mechanism of authentication

  3. trait Collection extends AnyRef

    A MongoDB Collection, resolved from a reactivemongo.api.DefaultDB.

    A MongoDB Collection, resolved from a reactivemongo.api.DefaultDB.

    You should consider the generic API (reactivemongo.api.collections.GenericCollection).

  4. trait CollectionMetaCommands extends AnyRef

    A mixin that provides commands about this Collection itself.

  5. trait CollectionProducer[+C <: Collection] extends AnyRef

    A Producer of Collection implementation.

    A Producer of Collection implementation.

    This is used to get an implementation implicitly when getting a reference of a Collection.

  6. trait Cursor[T] extends CursorCompatAPI[T]

    Cursor over results from MongoDB.

    Cursor over results from MongoDB.

    import scala.concurrent.{ ExecutionContext, Future }
    
    import reactivemongo.api.Cursor
    import reactivemongo.api.bson.{ BSONDocument, Macros }
    import reactivemongo.api.bson.collection.BSONCollection
    
    case class User(name: String, pass: String)
    
    implicit val handler = Macros.reader[User]
    
    def findUsers(coll: BSONCollection)(
      implicit ec: ExecutionContext): Future[List[User]] =
      coll.find(BSONDocument("enabled" -> true)).
        cursor[User](). // obtain cursor for User results
        collect[List](
          maxDocs = 10,
          err = Cursor.FailOnError[List[User]]())
    T

    the type parsed from each result document

  7. trait CursorCompatAPI[T] extends AnyRef

    Cursor over results from MongoDB.

    Cursor over results from MongoDB.

    T

    the type parsed from each result document

  8. trait CursorFlattener[C[_] <: Cursor[_]] extends AnyRef

    Flattening strategy for cursor.

    Flattening strategy for cursor.

    import scala.concurrent.Future
    
    import reactivemongo.api.{ Cursor, CursorFlattener, FlattenedCursor }
    
    trait FooCursor[T] extends Cursor[T] { def foo: String }
    
    implicit def fooFlattener = new CursorFlattener[FooCursor] {
      def flatten[T](future: Future[FooCursor[T]]): FooCursor[T] =
        new FlattenedCursor[T](future) with FooCursor[T] {
          def foo = "Flattened"
        }
    }
  9. trait CursorOps[T] extends AnyRef

    Internal cursor operations.

  10. final class CursorOptions extends AnyVal

  11. trait CursorProducer[T] extends AnyRef

    Allows to enrich a base cursor.

  12. sealed trait DB extends AnyRef

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

    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"))
    }
  13. trait DBMetaCommands extends AnyRef

    A mixin that provides commands about this database itself.

  14. class DefaultDB extends DB with DBMetaCommands with GenericDB[Pack] with Product with Serializable

    The default DB implementation, that mixes in the database traits.

    The default DB implementation, that mixes in the database traits.

    Annotations
    @SerialVersionUID()
  15. case class FailoverStrategy(initialDelay: FiniteDuration = FiniteDuration(100, "ms"), retries: Int = 10, delayFactor: (Int) => Double = FailoverStrategy.defaultFactor) extends Product with Serializable

    A failover strategy for sending requests.

    A failover strategy for sending requests. The default uses 10 retries: 125ms, 250ms, 375ms, 500ms, 625ms, 750ms, 875ms, 1s, 1125ms, 1250ms

    import scala.concurrent.duration._
    
    reactivemongo.api.FailoverStrategy(
      initialDelay = 150.milliseconds,
      retries = 20,
      delayFactor = { `try` => `try` * 1.5D })
    initialDelay

    the initial delay between the first failed attempt and the next one.

    retries

    the number of retries to do before giving up.

    delayFactor

    a function that takes the current iteration and returns a factor to be applied to the initialDelay (default: FailoverStrategy.defaultFactor; see FailoverStrategy.FactorFun)

  16. class FlattenedCursor[T] extends Cursor[T] with FlattenedCursorCompat[T]
  17. class MongoConnection extends AnyRef

    A pool of MongoDB connections, obtained from a reactivemongo.api.MongoDriver.

    A pool of MongoDB connections, obtained from a reactivemongo.api.MongoDriver.

    Connection here does not mean that there is one open channel to the server: behind the scene, many connections (channels) are open on all the available servers in the replica set.

    Example:

    import scala.concurrent.ExecutionContext
    import reactivemongo.api._
    
    def foo(driver: MongoDriver)(implicit ec: ExecutionContext) = {
      val con = driver.connection(List("localhost"))
      val db = con.database("plugin")
      val collection = db.map(_("acoll"))
    }
  18. class MongoConnectionOptions extends Product with Serializable

    Options for MongoConnection (see more documentation).

  19. trait QueryOps extends AnyRef

    Operations about query.

  20. case class QueryOpts(skipN: Int = 0, batchSizeN: Int = 0, flagsN: Int = 0) extends QueryOps with Product with Serializable

    A helper to make the query options.

    A helper to make the query options. You may use the methods to set the fields of this class, or set them directly.

    skipN

    the number of documents to skip.

    batchSizeN

    the upper limit on the number of documents to retrieve per batch (0 for unspecified)

    flagsN

    the query flags

  21. sealed trait ReadConcern extends AnyRef

    The Read Concern allows to control the consistency and isolation used to read data from replica sets.

  22. sealed trait ReadPreference extends AnyRef

    MongoDB read preference enables to read from primary or secondaries with a predefined strategy.

  23. trait WrappedCursor[T] extends Cursor[T] with WrappedCursorCompat[T]

    Cursor wrapper, to help to define custom cursor classes.

    Cursor wrapper, to help to define custom cursor classes.

    See also

    CursorProducer

  24. trait WrappedCursorOps[T] extends CursorOps[T]

    Internal cursor operations.

  25. trait WriteConcern extends AnyRef

    The write concern

Deprecated Type Members

  1. class Failover[T] extends AnyRef

    A helper that sends the given message to the given actor, following a failover strategy.

    A helper that sends the given message to the given actor, following a failover strategy. This helper holds a future reference that is completed with a response, after 1 or more attempts (specified in the given strategy). If the all the tryouts configured by the given strategy were unsuccessful, the future reference is completed with a Throwable.

    Should not be used directly for most use cases.

    T

    Type of the message to send.

    Annotations
    @deprecated
    Deprecated

    (Since version 0.17.0) Unused, will be removed

  2. class MongoDriver extends Driver

    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.4) Use reactivemongo.api.AsyncDriver

  3. type SerializationPackObject = SerializationPack with Singleton
    Annotations
    @deprecated
    Deprecated

    (Since version 0.17.0) Unused, will be removed

Value Members

  1. object AsyncDriver

    The driver factory

  2. object ChangeStreams
  3. object Cursor

    Cursor companion object

  4. object CursorFlattener

    Flatteners helper

  5. object CursorOps
  6. object CursorOptions
  7. object CursorProducer
  8. object FailoverStrategy extends Serializable

    FailoverStrategy utilities

  9. object MongoConnection
  10. object MongoConnectionOptions extends Serializable
  11. object ReadConcern
  12. object ReadPreference
  13. object ScramSha1Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable

    SCRAM-SHA-1 authentication (since MongoDB 3.6)

  14. object ScramSha256Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable

    SCRAM-SHA-256 authentication (see MongoDB 4.0)

  15. object Version
  16. object WriteConcern

    Write concern utilities.

    Write concern utilities.

    import scala.concurrent.ExecutionContext
    import reactivemongo.api.{ DefaultDB, WriteConcern }
    import reactivemongo.api.bson.BSONDocument
    
    def foo(db: DefaultDB)(implicit ec: ExecutionContext) =
      db.collection("myColl").
        insert(ordered = false, WriteConcern.Acknowledged).
        one(BSONDocument("foo" -> "bar"))
  17. object X509Authentication extends AuthenticationMode with Product with Serializable

    X509 authentication

Deprecated Value Members

  1. implicit final def toDocument(doc: BSONDocument): BSONDocument
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.0) Use reactivemongo-bson-api

  2. implicit final def toDocumentHandler[T](implicit h: BSONDocumentHandler[T]): BSONDocumentHandler[T]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.0) Use reactivemongo-bson-api or use reactivemongo-bson-compat: import reactivemongo.api.bson.compat._

  3. implicit final def toDocumentReader[T](implicit h: BSONDocumentReader[T]): BSONDocumentReader[T]
    Definition Classes
    LowPriorityPackage
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.0) Use reactivemongo-bson-api or use reactivemongo-bson-compat: import reactivemongo.api.bson.compat._

  4. implicit final def toDocumentWriter[T](implicit h: BSONDocumentWriter[T]): BSONDocumentWriter[T]
    Definition Classes
    LowPriorityPackage
    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.0) Use reactivemongo-bson-api or use reactivemongo-bson-compat: import reactivemongo.api.bson.compat._

  5. object CrAuthentication extends AuthenticationMode with Product with Serializable

    MongoDB-CR authentication

    MongoDB-CR authentication

    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.4) Use SCRAM or X509

  6. object DB
    Annotations
    @deprecated
    Deprecated

    (Since version 0.16.0) Will be removed

  7. object DefaultCursor
    Annotations
    @deprecated
    Deprecated

    (Since version 0.16.0) Internal: will be made private

  8. object DefaultDB extends AbstractFunction3[String, MongoConnection, FailoverStrategy, DefaultDB] with Serializable
    Annotations
    @deprecated
    Deprecated

    (Since version 0.16.0) Use DefaultDB class

  9. object Driver

    The driver factory

    The driver factory

    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.4) Internal: will be made private

  10. object Failover2
    Annotations
    @deprecated
    Deprecated

    (Since version 0.17.0) Internal: will be made private

  11. object MongoDriver

    The driver factory

    The driver factory

    Annotations
    @deprecated
    Deprecated

    (Since version 0.19.4) Use reactivemongo.api.AsyncDriver

Inherited from PackageCompat

Inherited from LowPriorityPackage

Inherited from AnyRef

Inherited from Any

Ungrouped