package api
- Alphabetic
- By Inheritance
- api
- PackageCompat
- LowPriorityPackage
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Package Members
Type Members
- 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")
- sealed trait AuthenticationMode extends AnyRef
The mode/mechanism of authentication
- 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).
- trait CollectionMetaCommands extends AnyRef
A mixin that provides commands about this Collection itself.
- 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.
- 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
- trait CursorCompatAPI[T] extends AnyRef
Cursor over results from MongoDB.
Cursor over results from MongoDB.
- T
the type parsed from each result document
- 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" } }
- trait CursorOps[T] extends AnyRef
Internal cursor operations.
- final class CursorOptions extends AnyVal
- trait CursorProducer[T] extends AnyRef
Allows to enrich a base cursor.
- 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")) }
- trait DBMetaCommands extends AnyRef
A mixin that provides commands about this database itself.
- 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()
- 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)
- class FlattenedCursor[T] extends Cursor[T] with FlattenedCursorCompat[T]
- 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")) }
- class MongoConnectionOptions extends Product with Serializable
Options for MongoConnection (see more documentation).
- trait QueryOps extends AnyRef
Operations about query.
- 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
- sealed trait ReadConcern extends AnyRef
The Read Concern allows to control the consistency and isolation used to read data from replica sets.
- sealed trait ReadPreference extends AnyRef
MongoDB read preference enables to read from primary or secondaries with a predefined strategy.
- 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
- trait WrappedCursorOps[T] extends CursorOps[T]
Internal cursor operations.
- trait WriteConcern extends AnyRef
The write concern
Deprecated Type Members
- 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
- class MongoDriver extends Driver
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.4) Use
reactivemongo.api.AsyncDriver
- type SerializationPackObject = SerializationPack with Singleton
- Annotations
- @deprecated
- Deprecated
(Since version 0.17.0) Unused, will be removed
Value Members
- object AsyncDriver
The driver factory
- object ChangeStreams
- object Cursor
Cursor companion object
- object CursorFlattener
Flatteners helper
- object CursorOps
- object CursorOptions
- object CursorProducer
- object FailoverStrategy extends Serializable
FailoverStrategy utilities
- object MongoConnection
- object MongoConnectionOptions extends Serializable
- object ReadConcern
- object ReadPreference
- object ScramSha1Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable
SCRAM-SHA-1 authentication (since MongoDB 3.6)
- object ScramSha256Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable
SCRAM-SHA-256 authentication (see MongoDB 4.0)
- object Version
- 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"))
- object X509Authentication extends AuthenticationMode with Product with Serializable
X509 authentication
Deprecated Value Members
- implicit final def toDocument(doc: BSONDocument): BSONDocument
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.0) Use reactivemongo-bson-api
- 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._
- 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._
- 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._
- 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
- object DB
- Annotations
- @deprecated
- Deprecated
(Since version 0.16.0) Will be removed
- object DefaultCursor
- Annotations
- @deprecated
- Deprecated
(Since version 0.16.0) Internal: will be made private
- object DefaultDB extends AbstractFunction3[String, MongoConnection, FailoverStrategy, DefaultDB] with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version 0.16.0) Use DefaultDB class
- object Driver
The driver factory
The driver factory
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.4) Internal: will be made private
- object Failover2
- Annotations
- @deprecated
- Deprecated
(Since version 0.17.0) Internal: will be made private
- object MongoDriver
The driver factory
The driver factory
- Annotations
- @deprecated
- Deprecated
(Since version 0.19.4) Use
reactivemongo.api.AsyncDriver