reactivemongo.api.bson

BSON main API

import reactivemongo.api.bson._

// { "name": "Johny", "surname": "Doe", "age": 28, "months": [1, 2, 3] }
BSONDocument.empty ++ ("name" -> "Johny") ++ ("surname" -> "Doe") ++
("age" -> 28) ++ ("months" -> array(1, 2, 3))

// { "_id": generatedId, "name": "Jane", "surname": "Doe", "age": 28,
//   "months": [1, 2, 3], "details": { "salary": 12345,
//   "inventory": ["foo", 7.8, 0, false] } }
document.++("_id" -> generateId, "name" -> "Jane", "surname" -> "Doe",
 "age" -> 28, "months" -> array(1, 2, 3),
 "details" -> document(
   "salary" -> 12345L, "inventory" -> array("foo", 7.8, 0L, false)))

'''System properties:'''

The following properties can be set (e.g. using JVM -D options).

  • reactivemongo.api.bson.bufferSizeBytes (integer; default: 96): Number of bytes used as initial size when allocating a new buffer.
  • reactivemongo.api.bson.document.strict (boolean; default: false): Flag to enable strict reading of document (filter duplicate fields, see BSONDocument.asStrict).

Attributes

Members list

Concise view

Type members

Classlikes

object BSON

Utility functions

Utility functions

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
BSON.type
sealed abstract class BSONArray extends BSONValue

A BSONArray (type 0x04) is a indexed sequence of BSONValue.

A BSONArray (type 0x04) is a indexed sequence of BSONValue.

import reactivemongo.api.bson._

BSONArray(BSONString("foo"), BSONDouble(1.2D))

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONArray

BSONArray utilities

BSONArray utilities

import reactivemongo.api.bson.{ BSONArray, BSONString }

BSONArray("foo", 1) match {
 case BSONArray(BSONString(s) +: _) => s == "foo"
 case _ => false
}

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONBinary extends BSONValue

A BSON binary value.

A BSON binary value.

import reactivemongo.api.bson.{ BSONBinary, Subtype }

BSONBinary("foo".getBytes("UTF-8"), Subtype.GenericBinarySubtype)

Attributes

subtype

The type of the binary content.

value

The binary content.

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONBinary

BSONBinary utilities

BSONBinary utilities

import reactivemongo.api.bson.{ BSONBinary, Subtype }

val bin1 = BSONBinary(
 "foo".getBytes("UTF-8"), Subtype.GenericBinarySubtype)

// See Subtype.UuidSubtype
val uuid = BSONBinary(java.util.UUID.randomUUID())

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONBoolean extends BSONValue

BSON boolean value

BSON boolean value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONBoolean factories & utilities

BSONBoolean factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait BSONBooleanLike

A BSON value that can be seen as a boolean.

A BSON value that can be seen as a boolean.

Conversions:

  • number = 0 ~> false
  • number != 0 ~> true
  • boolean
  • undefined ~> false
  • null ~> false
import scala.util.Success
import reactivemongo.api.bson.{ BSONBooleanLike, BSONDocument, BSONInteger }

val bi = BSONInteger(1)
assert(bi.asTry[BSONBooleanLike].flatMap(_.toBoolean) == Success(true))

val doc = BSONDocument("field" -> bi)
assert(doc.getAsTry[BSONBooleanLike]("field").
 flatMap(_.toBoolean) == Success(true))

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

BSONBooleanLike utilities

BSONBooleanLike utilities

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONDateTime extends BSONValue

BSON date time value

BSON date time value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONDateTime factories & utilities

BSONDateTime factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONDecimal extends BSONValue

Value wrapper for a BSON 128-bit decimal.

Value wrapper for a BSON 128-bit decimal.

Attributes

high

the high-order 64 bits

low

the low-order 64 bits

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONDecimal factories & utilities

BSONDecimal factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONDocument extends BSONValue with ElementProducer

A BSONDocument structure (BSON type 0x03).

A BSONDocument structure (BSON type 0x03).

A BSONDocument is an unordered set of fields (String, BSONValue).

'''Note:''' The insertion/initial order of the fields may not be maintained through the operations.

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
Self type

BSONDocument factories & utilities.

BSONDocument factories & utilities.

reactivemongo.api.bson.BSONDocument("foo" -> 1, "bar" -> "lorem")

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Reads and writers T values to/from BSONDocument.

Reads and writers T values to/from BSONDocument.

Attributes

Companion:
object
Graph
Supertypes
trait BSONHandler[T]
trait BSONWriter[T]
trait BSONReader[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler.type

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONDocumentReader[T] extends BSONReader[T]

BSONReader specialized for BSONDocument

BSONReader specialized for BSONDocument

Attributes

Companion:
object
Graph
Supertypes
trait BSONReader[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler.type
Self type

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONDocumentWriter[T] extends BSONWriter[T]

BSONWriter specialized for BSONDocument

BSONWriter specialized for BSONDocument

Attributes

Companion:
object
Graph
Supertypes
trait BSONWriter[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler.type
Self type

BSONDocumentWriter factories.

BSONDocumentWriter factories.

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONDouble extends BSONValue

A BSON Double.

A BSON Double.

reactivemongo.api.bson.BSONDouble(1.23D)

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONDouble

BSONDouble utilities

BSONDouble utilities

import reactivemongo.api.bson.BSONDouble

BSONDouble(1.23D) match {
 case BSONDouble(v) => assert(v == 1.23D)
 case _ => ???
}

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONElement extends ElementProducer

BSON element, typically a pair of name and BSONValue.

BSON element, typically a pair of name and BSONValue.

import reactivemongo.api.bson.{ BSONElement, BSONString }

BSONElement("name", BSONString("value"))

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

BSONElement factories and utilities.

BSONElement factories and utilities.

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONHandler[T] extends BSONReader[T] with BSONWriter[T]

A BSON handler is able to both read and write T values from/to BSON representation.

A BSON handler is able to both read and write T values from/to BSON representation.

import scala.util.Try
import reactivemongo.api.bson.{ BSONHandler, BSONValue }

def roundtrip[T](value: T)(implicit handler: BSONHandler[T]): Try[Boolean] =
 for {
   bson: BSONValue <- handler.writeTry(value)
   dser <- handler.readTry(bson)
 } yield (dser == value) // true

Attributes

Companion:
object
Graph
Supertypes
trait BSONWriter[T]
trait BSONReader[T]
class Object
trait Matchable
class Any
Known subtypes
object BSONBinaryHandler.type
object BSONBooleanHandler.type
object BSONByteHandler.type
object BSONCharHandler.type
object BSONDecimalHandler.type
object Handler.type
object BSONDoubleHandler.type
object BSONFloatHandler.type
object BSONIntegerHandler.type
object BSONLocaleHandler.type
object BSONLongHandler.type
object BSONShortHandler.type
object BSONStringHandler.type
object BSONURIHandler.type
object BSONURLHandler.type
object BSONUUIDHandler.type

BSONHandler factories

BSONHandler factories

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONInteger extends BSONValue

BSON Integer value

BSON Integer value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONInteger factories & utilities

BSONInteger factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONJavaScript extends BSONValue

BSON JavaScript value.

BSON JavaScript value.

Attributes

value

The JavaScript source code.

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONJavaScript factories & utilities

BSONJavaScript factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONJavaScriptWS extends BSONValue

BSON JavaScript value with scope (WS).

BSON JavaScript value with scope (WS).

Attributes

value

The JavaScript source code.

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONJavaScriptWS factories & utilities

BSONJavaScriptWS factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONLong extends BSONValue

BSON Long value

BSON Long value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONLong

BSONLong factories & utilities

BSONLong factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait BSONMaxKey extends BSONValue

BSON Max key value

BSON Max key value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONMaxKey.type
object BSONMaxKey extends BSONMaxKey

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait BSONValue
class Object
trait Matchable
class Any
Self type
sealed trait BSONMinKey extends BSONValue

BSON Min key value

BSON Min key value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONMinKey.type
object BSONMinKey extends BSONMinKey

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait BSONValue
class Object
trait Matchable
class Any
Self type
sealed trait BSONNull extends BSONValue

BSON null value

BSON null value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONNull.type
object BSONNull extends BSONNull

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait BSONNull
trait BSONValue
class Object
trait Matchable
class Any
Self type
sealed trait BSONNumberLike

A BSON value that can be seen as a number.

A BSON value that can be seen as a number.

Conversions:

import scala.util.Success
import reactivemongo.api.bson.{ BSONNumberLike, BSONDocument, BSONInteger }

val bi = BSONInteger(1)
assert(bi.asTry[BSONNumberLike].flatMap(_.toLong) == Success(1L))

val doc = BSONDocument("field" -> bi)
assert(doc.getAsTry[BSONNumberLike]("field").
 flatMap(_.toDouble) == Success(1D))

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

BSONNumberLike utilities

BSONNumberLike utilities

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONObjectID extends BSONValue

BSON ObjectId value.

import scala.util.Try
import reactivemongo.api.bson.BSONObjectID

val oid: BSONObjectID = BSONObjectID.generate()

def foo: Try[BSONObjectID] = BSONObjectID.parse(oid.stringify)
Timestamp (seconds)Machine identifierThread identifierIncrement
4 bytes3 bytes2 bytes3 bytes

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONObjectID utilities

BSONObjectID utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONReader[T]

A reader that produces an instance of T from a subtype of BSONValue.

A reader that produces an instance of T from a subtype of BSONValue.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Handler.type
object Handler.type
trait BSONHandler[T]
object BSONBinaryHandler.type
object BSONBooleanHandler.type
object BSONByteHandler.type
object BSONCharHandler.type
object BSONDecimalHandler.type
object BSONDoubleHandler.type
object BSONFloatHandler.type
object BSONIntegerHandler.type
object BSONLocaleHandler.type
object BSONLongHandler.type
object BSONShortHandler.type
object BSONStringHandler.type
object BSONURIHandler.type
object BSONURLHandler.type
object BSONUUIDHandler.type
object Handler.type
Self type
object BSONReader

BSONReader factories

BSONReader factories

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONRegex extends BSONValue

BSON Regex value.

BSON Regex value.

Attributes

flags

the regex flags

value

the regex value (expression)

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONRegex

BSONRegex factories & utilities

BSONRegex factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONStrictDocument extends BSONDocument

'''EXPERIMENTAL:''' Strict documentation representation with at most one value per field name (no duplicate).

'''EXPERIMENTAL:''' Strict documentation representation with at most one value per field name (no duplicate).

import reactivemongo.api.bson.BSONDocument

def strict1 = // { 'foo': 1 }
 BSONDocument.strict("foo" -> 1, "foo" -> 2)

def strict2 = BSONDocument("foo" -> 1, "foo" -> 2).asStrict

assert(strict1 == strict2)

Attributes

Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Self type
final class BSONString extends BSONValue

A BSON string.

reactivemongo.api.bson.BSONString("foo")

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONString

BSONString utilities

BSONString utilities

import reactivemongo.api.bson.BSONString

BSONString("foo") match {
 case BSONString(v) => v == "foo"
 case _ => false
}

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class BSONSymbol extends BSONValue

BSON Symbol value.

BSON Symbol value.

Attributes

value

the symbol value (name)

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONSymbol

BSONSymbol factories & utilities

BSONSymbol factories & utilities

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONTimestamp extends BSONValue

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

Timestamp companion

Timestamp companion

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait BSONUndefined extends BSONValue

BSON undefined value

BSON undefined value

Attributes

Companion:
object
Graph
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONUndefined.type

Single value for BSONUndefined type

Single value for BSONUndefined type

Attributes

Companion:
trait
Graph
Supertypes
trait Sum
trait Mirror
trait BSONValue
class Object
trait Matchable
class Any
Self type
sealed trait BSONValue

A BSON value

A BSON value

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
object BSONValue

BSONValue factories and utilities

BSONValue factories and utilities

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONWriter[T]

A writer that produces a subtype of BSONValue from an instance of T.

A writer that produces a subtype of BSONValue from an instance of T.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Handler.type
object Handler.type
trait BSONHandler[T]
object BSONBinaryHandler.type
object BSONBooleanHandler.type
object BSONByteHandler.type
object BSONCharHandler.type
object BSONDecimalHandler.type
object BSONDoubleHandler.type
object BSONFloatHandler.type
object BSONIntegerHandler.type
object BSONLocaleHandler.type
object BSONLongHandler.type
object BSONShortHandler.type
object BSONStringHandler.type
object BSONURIHandler.type
object BSONURLHandler.type
object BSONUUIDHandler.type
object Handler.type
object BSONWriter

BSONWriter factories.

BSONWriter factories.

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait DocumentClass[T]

Evidence that T can be serialized as a BSON document.

Evidence that T can be serialized as a BSON document.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait ElementProducer extends Producer[BSONElement]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Utilities to handle Enumerations

Utilities to handle Enumerations

(Inspired by enumeratum)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object EnumHelper

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait FieldNaming extends String => String

Naming strategy, to map each class property to the corresponding field.

Naming strategy, to map each class property to the corresponding field.

import reactivemongo.api.bson.{ FieldNaming, MacroConfiguration }

def initCfg(naming: FieldNaming): MacroConfiguration =
 MacroConfiguration(fieldNaming = naming)

Attributes

See also:
Companion:
object
Graph
Supertypes
trait String => String
class Object
trait Matchable
class Any
Known subtypes
object Identity.type
object PascalCase.type
object SnakeCase.type

Naming companion

Naming companion

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait KeyReader[T]

Mapping from a BSON string to T; Used by scala.collection.Map handlers.

Mapping from a BSON string to T; Used by scala.collection.Map handlers.

final class Foo(val v: String) extends AnyVal

val bson = reactivemongo.api.bson.BSONDocument(
 "foo:key" -> 1, "foo:name" -> 2)

import reactivemongo.api.bson.KeyReader

implicit def fooKeyReader: KeyReader[Foo] =
 KeyReader[Foo] { str =>
   new Foo(str.stripPrefix("foo:"))
 }

reactivemongo.api.bson.BSON.readDocument[Map[Foo, Int]](bson)
// Success: Map[Foo, Int](
//  (new Foo("key") -> 1),
//  (new Foo("name") -> 2))

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object KeyReader

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
trait KeyWriter[T]

Mapping from a BSON string to T. Used by scala.collection.Map handlers.

Mapping from a BSON string to T. Used by scala.collection.Map handlers.

final class Foo(val v: String) extends AnyVal

val dict = Map[Foo, Int](
 (new Foo("key") -> 1),
 (new Foo("name") -> 2))

import reactivemongo.api.bson.KeyWriter

implicit def fooKeyWriter: KeyWriter[Foo] =
 KeyWriter[Foo] { foo =>
   "foo:" + foo.v
 }

reactivemongo.api.bson.BSON.writeDocument(dict)
// Success = {'foo:key': 1, 'foo:name': 2}

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object KeyWriter

KeyWriter factories

KeyWriter factories

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait MacroConfiguration

Macro configuration;

Macro configuration;

It allows to configure compile time options, and behaviour to be retained at runtime (field & type naming).

import reactivemongo.api.bson.{
 BSONDocumentReader, MacroConfiguration, Macros
}

case class Foo(name: String)

val r1: BSONDocumentReader[Foo] = Macros.configured.reader[Foo]

val r2: BSONDocumentReader[Foo] = Macros.configured(
 MacroConfiguration.simpleTypeName).reader[Foo]

Attributes

See also:
Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

MacroConfiguration factories and utilities

MacroConfiguration factories and utilities

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait MacroOptions

Macros with 'Opts' suffix will take additional options in the form of type parameters that will customize behaviour of the macros during compilation.

Macros with 'Opts' suffix will take additional options in the form of type parameters that will customize behaviour of the macros during compilation.

import reactivemongo.api.bson.{ BSONDocumentWriter, Macros, MacroOptions }

case class Bar(score: Float)

val w: BSONDocumentWriter[Bar] =
 Macros.using[MacroOptions.Default].writer[Bar]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

MacroOptions factories & utilities.

MacroOptions factories & utilities.

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object Macros

Macros for generating BSONReader and BSONWriter at compile time.

Macros for generating BSONReader and BSONWriter at compile time.

import reactivemongo.api.bson.{ BSONDocumentHandler, Macros }

case class Person(name: String, surname: String)

given personHandler: BSONDocumentHandler[Person] = Macros.handler[Person]

Attributes

See also:

MacroOptions for specific options

MacroConfiguration for extended configuration

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Macros.type
sealed trait OpaqueAlias[T]

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Producer[T]

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed trait Subtype

Binary Subtype

Binary Subtype

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Subtype

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Subtype.type
trait TypeNaming extends Class[_] => String

Naming strategy, to map each class to a discriminator value.

Naming strategy, to map each class to a discriminator value.

import reactivemongo.api.bson.{ MacroConfiguration, TypeNaming }

val cfg1 = MacroConfiguration(typeNaming = TypeNaming.FullName)

val cfg2 = MacroConfiguration(typeNaming = TypeNaming.FullName)

val cfg3 = MacroConfiguration(
 typeNaming = TypeNaming { (cls: Class[_]) =>
   "_" + cls.getSimpleName
 })

Attributes

See also:
Companion:
object
Graph
Supertypes
trait Class[_] => String
class Object
trait Matchable
class Any
Known subtypes
object FullName.type
object SimpleName.type
object TypeNaming

TypeNaming factories

TypeNaming factories

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class ¬[A, B]

Type level evidence that type A is not type B.

Type level evidence that type A is not type B.

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object ¬

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
¬.type

Inherited classlikes

abstract protected class BSONArrayCollectionReader[M[_], T] extends BSONReader[M[T]]

Attributes

Inherited from:
LowPriority1BSONHandlers (hidden)
Graph
Supertypes
trait BSONReader[M[T]]
class Object
trait Matchable
class Any
protected class BSONArrayCollectionWriter[T, Repr](implicit ev: Repr => Iterable[T], writer: BSONWriter[T]) extends BSONWriter[Repr]

Attributes

Inherited from:
LowPriority1BSONHandlers (hidden)
Graph
Supertypes
trait BSONWriter[Repr]
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any
object BSONDateTimeHandler extends BSONHandler[Instant]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[Instant]
trait BSONWriter[Instant]
trait BSONReader[Instant]
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any
object BSONLocalTimeHandler extends BSONHandler[LocalTime]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[LocalTime]
trait BSONWriter[LocalTime]
trait BSONReader[LocalTime]
class Object
trait Matchable
class Any
object BSONLocaleHandler extends BSONHandler[Locale]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[Locale]
trait BSONWriter[Locale]
trait BSONReader[Locale]
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any
object BSONURIHandler extends BSONHandler[URI]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[URI]
trait BSONWriter[URI]
trait BSONReader[URI]
class Object
trait Matchable
class Any
object BSONURLHandler extends BSONHandler[URL]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[URL]
trait BSONWriter[URL]
trait BSONReader[URL]
class Object
trait Matchable
class Any
object BSONUUIDHandler extends BSONHandler[UUID]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Graph
Supertypes
trait BSONHandler[UUID]
trait BSONWriter[UUID]
trait BSONReader[UUID]
class Object
trait Matchable
class Any

Attributes

Inherited from:
BSONIdentityLowPriorityHandlers (hidden)
Graph
Supertypes
class Object
trait Matchable
class Any

Inherited types

type BaseColl[T] = Iterable[T]

Attributes

Inherited from:
Aliases (hidden)

Attributes

Inherited from:
Aliases (hidden)

Value members

Concrete methods

Returns a BSON Null value

Returns a BSON Null value

Attributes

Returns an empty array.

Returns an empty array.

import reactivemongo.api.bson._

val arr1 = BSONString("bar") +: array // [ 'bar' ]
val arr2 = BSONInteger(1) +: arr1 // [ 1, 'bar' ]

Attributes

Returns an array with given values.

Returns an array with given values.

import reactivemongo.api.bson._

val arr = array("bar", 1L) // [ 'bar', NumberLong(1) ]

Attributes

Returns an empty document.

Returns an empty document.

import reactivemongo.api.bson._

val doc = document ++ ("foo" -> 1)
// { 'foo': 1 }

Attributes

Returns a document with given elements.

Returns a document with given elements.

import reactivemongo.api.bson._

val doc = document("foo" -> 1)
// { 'foo': 1 }

Attributes

Returns a newly generated object ID.

Returns a newly generated object ID.

Attributes

Returns a BSON MaxKey value

Returns a BSON MaxKey value

Attributes

Returns a BSON MinKey value

Returns a BSON MinKey value

Attributes

Returns a BSON Undefined value

Returns a BSON Undefined value

Attributes

Inherited methods

inline def migrationRequired[A](inline details: String): A

Keeps a A statement but raise a migration error at compile-time.

Keeps a A statement but raise a migration error at compile-time.

The compilation error can be disabled by setting the system property reactivemongo.api.migrationRequired.nonFatal to true.

Attributes

Inherited from:
PackageCompat (hidden)

Inherited fields

Attributes

Inherited from:
DefaultBSONHandlers (hidden)

Attributes

Inherited from:
DefaultBSONHandlers (hidden)

Attributes

Inherited from:
DefaultBSONHandlers (hidden)

Attributes

Inherited from:
DefaultBSONHandlers (hidden)

Givens

Inherited givens

given collectionWriter[T, Repr <: Iterable[T]](using BSONWriter[T], Repr ¬ Option[T]): BSONWriter[Repr]

Attributes

Inherited from:
LowPriority1BSONHandlers (hidden)

Implicits

Implicits

implicit def nameValueOrdering[T <: BSONValue]: Ordering[(String, T)]

Key/value ordering

Key/value ordering

import reactivemongo.api.bson.{ BSONString, nameValueOrdering }

Seq("foo" -> BSONString("1"), "bar" -> BSONString("1")).
 sorted // == [ "bar" -> .., "foo" -> .. ]

Attributes

Inherited implicits

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)

Attributes

Inherited from:
BSONIdentityHandlers (hidden)
final implicit def collectionReader[M[_], T](implicit f: Factory[T, M[T]], reader: BSONReader[T]): BSONReader[M[T]]

Attributes

Inherited from:
LowPriority1BSONHandlers (hidden)