reactivemongo

api

package api

Visibility
  1. Public
  2. All

Type Members

  1. trait Collection extends AnyRef

    A MongoDB Collection.

    A MongoDB Collection. You should consider the default implementation, reactivemongo.api.collections.default.BSONCollection.

    Example using the default implementation (BSONCollection):

    object Samples {
    
    val connection = MongoConnection(List("localhost"))
    
    // Gets a reference to the database "plugin"
    val db = connection("plugin")
    
    // Gets a reference to the collection "acoll"
    // By default, you get a BSONCollection.
    val collection = db("acoll")
    
    def listDocs() = {
      // Select only the documents which field 'firstName' equals 'Jack'
      val query = BSONDocument("firstName" -> "Jack")
      // select only the field 'lastName'
      val filter = BSONDocument(
        "lastName" -> 1,
        "_id" -> 0)
    
      // Get a cursor of BSONDocuments
      val cursor = collection.find(query, filter).cursor[BSONDocument]
      // Let's enumerate this cursor and print a readable representation of each document in the response
      cursor.enumerate().apply(Iteratee.foreach { doc =>
        println("found document: " + BSONDocument.pretty(doc))
      })
    
      // Or, the same with getting a list
      val cursor2 = collection.find(query, filter).cursor[BSONDocument]
      val futureList = cursor.collect[List]()
      futureList.map { list =>
        list.foreach { doc =>
          println("found document: " + BSONDocument.pretty(doc))
        }
      }
    }
    }
  2. trait CollectionMetaCommands extends AnyRef

    A mixin that provides commands about this Collection itself.

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

  4. trait Cursor[T] extends AnyRef

  5. trait DB extends AnyRef

    A Mongo Database.

    A Mongo Database.

    Example:

    import reactivemongo.api._
    
    val connection = MongoConnection( List( "localhost:27016" ) )
    val db = connection("plugin")
    val collection = db("acoll")
    
    // more explicit way
    val db2 = connection.db("plugin")
    val collection2 = db2.collection("plugin")
  6. trait DBMetaCommands extends AnyRef

    A mixin that provides commands about this database itself.

  7. class DefaultCursor[T] extends Cursor[T]

  8. case class DefaultDB(name: String, connection: MongoConnection, failoverStrategy: FailoverStrategy = FailoverStrategy()) extends DB with DBMetaCommands with Product with Serializable

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

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

  10. case class FailoverStrategy(initialDelay: FiniteDuration = 500 milliseconds, retries: Int = 5, delayFactor: (Int) ⇒ Double = n => 1) extends Product with Serializable

    A failover strategy for sending requests.

    A failover strategy for sending requests.

    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.

  11. class FlattenedCursor[T] extends Cursor[T]

  12. class MongoConnection extends AnyRef

    A Mongo Connection.

    A Mongo Connection.

    This is a wrapper around a reference to a reactivemongo.core.actors.MongoDBSystem Actor. 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 reactivemongo.api._
    
    val connection = MongoConnection( List( "localhost" ) )
    val db = connection("plugin")
    val collection = db("acoll")
    
    // more explicit way
    val db2 = connection.db("plugin")
    val collection2 = db2.collection("plugin")
  13. case class MongoConnectionOptions(connectTimeoutMS: Int = 0, authSource: Option[String] = None, tcpNoDelay: Boolean = true, keepAlive: Boolean = true, nbChannelsPerNode: Int = 10) extends Product with Serializable

    Options for MongoConnection.

    Options for MongoConnection.

    connectTimeoutMS

    The number of milliseconds to wait for a connection to be established before giving up.

    authSource

    The database source for authentication credentials.

    tcpNoDelay

    TCPNoDelay flag (ReactiveMongo-specific option).

    keepAlive

    TCP KeepAlive flag (ReactiveMongo-specific option).

    nbChannelsPerNode

    Number of channels (connections) per node (ReactiveMongo-specific option).

  14. class MongoDriver extends AnyRef

  15. case class QueryOpts(skipN: Int = 0, batchSizeN: Int = 0, flagsN: Int = 0) extends 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.

    flagsN

    The query flags.

  16. sealed trait ReadPreference extends AnyRef

    MongoDB Read Preferences enable to read from primary or secondaries with a predefined strategy.

  17. sealed trait SortOrder extends AnyRef

Value Members

  1. object Cursor

  2. object DB

  3. object Failover

  4. object MongoConnection

  5. object MongoDriver

  6. object ReadPreference

  7. object SortOrder

  8. object bulk

    Bulk insertion.

  9. package collections

  10. package gridfs

  11. package indexes

Ungrouped