ReactiveMongo is a scala driver that provides fully non-blocking and asynchronous I/O operations.


First add the dependencies in your build.sbt.

libraryDependencies ++= Seq(
  "org.reactivemongo" %% "reactivemongo" % "VERSION"

Maven Javadocs

See the documentation

Build manually

To benefit from the latest improvements and fixes, you may want to compile ReactiveMongo from source. You will need a Git client and SBT.

From the shell, first checkout the source:

$ git clone

Then go to the ReactiveMongo directory and launch the SBT build console:

$ cd ReactiveMongo
$ sbt
> +publish-local

Running tests:

In order to execute the unit and integration tests, SBT can be used as follows.

sbt "testOnly -- exclude mongo2"

When running against MongoDB 2.6, the command must replace exclude mongo2 with exclude not_mongo26.

The test environement must be able to handle the maximum number of incoming connection for the MongoDB instance. This must be checked, and eventually updated, using ulimit -n.

Travis: Travis build status Test coverage

Reproduce Travis build:

To reproduce a Travis build, see the Docker tools.

Learn More

See also the samples