BSONDocument wrapper for pattern matching
Connection handler.
Connection manager
Driver manager
Response prepared for Mongo request executed with Acolyte driver.
Extractor for BSON property, allowing partial and un-ordered match by name.
Extractor for BSON property,
allowing partial and un-ordered match by name.
Rich match syntax ~(Property(name), ...)
requires use of
http://acolyte.eu.org/scalac-plugin.html
import reactivemongo.api.bson.{ BSONInteger, BSONString } import acolyte.reactivemongo.{ PreparedResponse, Property, Request, SimpleBody, ValueDocument, & } val EmailXtr = Property("email") // Without scalac plugin def resultA: PreparedResponse = ??? def resultB: PreparedResponse = ??? def resultC: PreparedResponse = ??? def resultD: PreparedResponse = ??? def resultE: PreparedResponse = ??? def check(request: Request) = request match { case Request("db.col", SimpleBody(~(Property("email"), BSONString(e)))) => // Request on db.col with an "email" string property, // anywhere in properties (possibly with others which are ignored there), // with `e` bound to extracted string value. resultA case Request("db.col", SimpleBody(EmailXtr(BSONString(e)))) => // Request on db.col with an "email" string property, // anywhere in properties (possibly with others which are ignored there), // with `e` bound to extracted string value. resultB // similar to case resultA without scalac plugin case Request("db.col", SimpleBody( ~(Property("name"), BSONString("eman")))) => // Request on db.col with an "name" string property with "eman" as value, // anywhere in properties (possibly with others which are ignored there). resultC case Request(colName, SimpleBody( ~(Property("age"), BSONInteger(age)) & ~(Property("email"), BSONString(v)))) => // Request on any collection, with an "age" integer property // and an "email" string property, possibly not in this order. resultD case Request(colName, SimpleBody( ~(Property("age"), ValueDocument( ~(Property("\$gt"), BSONInteger(minAge)))) & ~(Property("email"), BSONString("[email protected]")))) => // Request on any collection, with an "age" property with itself // a operator property "\$gt" having an integer value, and an "email" // property (at the same level as age), without order constraint. resultE }
Query handler.
Creates a query response for given channel ID and result.
Creates a query response for given channel ID and result.
Result type
Request executed against Mongo connection.
Functions to work with a Mongo collection (provided DB functions).
Functions to work with MongoDB (provided driver functions).
Functions to work with driver.
Functions to work with handler (provided driver functions).
Functions to work with result (provided collection functions).
Write handler.
Operator, along with request when writing.
Creates a write response for given channel ID and result.
Creates a write response for given channel ID and result.
Result type
Meta-extractor, to combine extractor on BSON properties.
Meta-extractor, to combine extractor on BSON properties.
Acolyte DSL for ReactiveMongo.
Request extractor for any command (at DB or collection level)
Companion object for connection handler.
Connection manage companion.
Body extractor for Count request.
Body extractor for Count request.
Delete operator
Delete request
Driver manage companion.
Request extractor for the findAndModify
command
In clause extractor ($in with BSONArray; e.g.
In clause extractor ($in with BSONArray; e.g. { '$in': [ ... ] })
Insert operator
Insert request
Not-In clause extractor.
Not-In clause extractor. ($nin with BSONArray; e.g. { '$nin': [ ... ] })
Query handler companion.
Query response factory.
Response maker companion.
Request companion
Complete request body extractor; Matches body with many documents.
Body extractor for simple request, with only one document.
Body extractor for simple request, with only one document. If there are more than one document, matching just ignore extra ones.
Update request
Update operator
Update request
Extractor of properties for a document used a BSON value (when operator is used, e.g.
Extracts values of BSON array as list.
Extracts values of BSON array as list.
Write handler companion.
Write response factory.
Response maker companion.
Driver manager