package api
- Alphabetic
- Public
- Protected
Package Members
Type Members
- final class AsyncDriver extends AnyRef
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
- final class Collation extends AnyRef
Represents a collection, view, index or operation specific collation.
Represents a collection, view, index or operation specific collation.
import reactivemongo.api.Collation val collation = Collation( locale = "en-US", caseLevel = None, caseFirst = None, strength = Some(Collation.PrimaryStrength), numericOrdering = None, alternate = None, maxVariable = None, backwards = None)
- trait Collection extends AnyRef
Basic information resolved for a MongoDB Collection, resolved from a reactivemongo.api.DB.
Basic information resolved for a MongoDB Collection, resolved from a reactivemongo.api.DB.
For collection operations, you should consider the generic API (reactivemongo.api.collections.GenericCollection).
- 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.
- final class CollectionStats extends AnyRef
Various information about 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, BSONDocumentReader, Macros } import reactivemongo.api.bson.collection.BSONCollection case class User(name: String, pass: String) implicit val reader: BSONDocumentReader[User] = 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 CursorFlattener[C[_] <: Cursor[_]] extends AnyRef
Flattening strategy for cursor.
Flattening strategy for cursor.
import scala.concurrent.Future import reactivemongo.api.{ Cursor, CursorFlattener } trait FooCursor[T] extends Cursor[T] { def foo: String } def flatFoo[T](future: Future[FooCursor[T]])(implicit cf: CursorFlattener[FooCursor]): FooCursor[T] = Cursor.flatten(future)
- trait CursorOps[T] extends AnyRef
Internal cursor operations.
- final class CursorOptions extends AnyVal
- trait CursorProducer[T] extends AnyRef
Allows to enrich a base cursor.
- final class DB extends DBMetaCommands with PackSupport[Pack]
The reference to a MongoDB database, obtained from a reactivemongo.api.MongoConnection.
The reference to a MongoDB database, obtained from a reactivemongo.api.MongoConnection.
import scala.concurrent.ExecutionContext import reactivemongo.api.MongoConnection def foo(connection: MongoConnection)(implicit ec: ExecutionContext) = { val db = connection.database("plugin") val _ = db.map(_("acoll")) // Collection reference }
- final class FailoverStrategy extends AnyRef
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 })
- class FlattenedCursor[T] extends Cursor[T] with FlattenedCursorCompat[T]
- final class MongoConnection extends AnyRef
A pool of MongoDB connections, obtained from a reactivemongo.api.AsyncDriver.
A pool of MongoDB connections, obtained from a reactivemongo.api.AsyncDriver.
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: AsyncDriver)(implicit ec: ExecutionContext) = { val con = driver.connect(List("localhost")) val db = con.flatMap(_.database("plugin")) val _ = db.map(_("acoll")) // Collection reference }
- final class MongoConnectionOptions extends AnyRef
Options for MongoConnection (see more documentation).
Options for MongoConnection (see more documentation).
- Annotations
- @SuppressWarnings()
- sealed trait ReadConcern extends AnyRef
The Read Concern allows to control the consistency and isolation used to read data from replica sets.
The Read Concern allows to control the consistency and isolation used to read data from replica sets.
import reactivemongo.api.ReadConcern import reactivemongo.api.bson.BSONDocument import reactivemongo.api.bson.collection.BSONCollection def queryBuilderWithReadConcern(coll: BSONCollection) = coll.find(BSONDocument.empty). readConcern(ReadConcern.Available)
- sealed trait ReadPreference extends AnyRef
MongoDB read preference enables to read from primary or secondaries with a predefined strategy.
MongoDB read preference enables to read from primary or secondaries with a predefined strategy.
import reactivemongo.api.ReadPreference val pref: ReadPreference = ReadPreference.primary
- 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.
- final class WriteConcern extends AnyRef
The write concern.
The write concern.
import scala.concurrent.ExecutionContext import reactivemongo.api.{ DB, WriteConcern } import reactivemongo.api.bson.BSONDocument def foo(db: DB)(implicit ec: ExecutionContext) = db.collection("myColl"). insert(ordered = false, WriteConcern.Acknowledged). one(BSONDocument("foo" -> "bar"))
Value Members
- object AsyncDriver
The driver factory
- object ChangeStreams
Change stream utilities.
Change stream utilities.
import scala.concurrent.{ ExecutionContext, Future } import reactivemongo.api.ChangeStreams.FullDocumentStrategy import reactivemongo.api.bson.BSONDocument import reactivemongo.api.bson.collection.BSONCollection def peekNext( coll: BSONCollection, strategy: FullDocumentStrategy)( implicit ec: ExecutionContext): Future[Option[BSONDocument]] = coll.watch[BSONDocument](fullDocumentStrategy = Some(strategy)). cursor.headOption def doIt(coll: BSONCollection)( implicit ec: ExecutionContext): Future[Unit] = for { _ <- peekNext(coll, FullDocumentStrategy.Default) _ <- peekNext(coll, FullDocumentStrategy.UpdateLookup) } yield ()
- object Collation
Collation utilities.
- object Cursor
Cursor companion object
- object CursorFlattener
Flatteners helper
- object CursorOps
- object CursorOptions
- object CursorProducer
- object FailoverStrategy
FailoverStrategy utilities
- object MongoConnection
- object MongoConnectionOptions
MongoConnectionOptions factory.
MongoConnectionOptions factory.
reactivemongo.api.MongoConnectionOptions(nbChannelsPerNode = 10)
- object ReadConcern
- object ReadPreference
ReadPreference utilities and factories.
- case object ScramSha1Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable
SCRAM-SHA-1 authentication (since MongoDB 3.6)
- case object ScramSha256Authentication extends AuthenticationMode with ScramAuthentication with Product with Serializable
SCRAM-SHA-256 authentication (see MongoDB 4.0)
- object Version
- object WriteConcern
WriteConcern utilities.
- case object X509Authentication extends AuthenticationMode with Product with Serializable
X509 authentication