Packages

package bson

BSON main API

import reactivemongo.api.bson._

// { "name": "Johny", "surname": "Doe", "age": 28, "months": [1, 2, 3] }
document ++ ("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 -D option).

  • 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).
Linear Supertypes
Utils, Aliases, DefaultBSONHandlers, BSONIdentityHandlers, BSONIdentityLowPriorityHandlers, LowPriority1BSONHandlers, LowPriority2BSONHandlers, LowPriority3BSONHandlers, LowPriority4BSONHandlers, LowPriorityBSONHandlersCompat, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. bson
  2. Utils
  3. Aliases
  4. DefaultBSONHandlers
  5. BSONIdentityHandlers
  6. BSONIdentityLowPriorityHandlers
  7. LowPriority1BSONHandlers
  8. LowPriority2BSONHandlers
  9. LowPriority3BSONHandlers
  10. LowPriority4BSONHandlers
  11. LowPriorityBSONHandlersCompat
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package exceptions

Type Members

  1. 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))
  2. abstract class BSONArrayCollectionReader[M[_], T] extends BSONReader[M[T]]
    Attributes
    protected
    Definition Classes
    LowPriority1BSONHandlers
  3. 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)
  4. final class BSONBoolean extends BSONValue with Value

    BSON boolean value

  5. sealed trait BSONBooleanLike extends AnyRef

    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))
  6. final class BSONDateTime extends BSONValue with Value

    BSON date time value

  7. final class BSONDecimal extends BSONValue with Value with Value

    Value wrapper for a BSON 128-bit decimal.

  8. sealed abstract class BSONDocument extends BSONValue with ElementProducer with BSONDocumentLowPriority with BSONDocumentExperimental

    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.

  9. trait BSONDocumentHandler[T] extends BSONDocumentReader[T] with BSONDocumentWriter[T] with BSONHandler[T]

    Reads and writers T values to/from BSONDocument.

  10. trait BSONDocumentReader[T] extends BSONReader[T]
  11. trait BSONDocumentWriter[T] extends BSONWriter[T]
  12. final class BSONDouble extends BSONValue with Value with Value

    A BSON Double.

    A BSON Double.

    reactivemongo.api.bson.BSONDouble(1.23D)
  13. 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"))
  14. 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
  15. final class BSONInteger extends BSONValue with Value with Value

    BSON Integer value

  16. final class BSONJavaScript extends BSONValue

    BSON JavaScript value.

  17. final class BSONJavaScriptWS extends BSONValue

    BSON JavaScript value with scope (WS).

  18. final class BSONLong extends BSONValue with Value with Value

    BSON Long value

  19. sealed trait BSONMaxKey extends BSONValue

    BSON Max key value

  20. sealed trait BSONMinKey extends BSONValue

    BSON Min key value

  21. sealed trait BSONNull extends BSONValue with Value

    BSON null value

  22. sealed trait BSONNumberLike extends AnyRef

    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))
  23. sealed abstract class BSONObjectID extends BSONValue

    BSON ObjectId value.

    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 identifier | Thread identifier | Increment

    | --- | --- | --- | ---

    | 4 bytes | 3 bytes | 2 bytes | 3 bytes

  24. trait BSONReader[T] extends AnyRef

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

  25. final class BSONRegex extends BSONValue

    BSON Regex value.

  26. sealed trait BSONStrictDocument extends BSONStrictDocumentLowPriority

    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)
  27. final class BSONString extends BSONValue

    A BSON string.

    A BSON string.

    reactivemongo.api.bson.BSONString("foo")
  28. final class BSONSymbol extends BSONValue

    BSON Symbol value.

  29. sealed abstract class BSONTimestamp extends BSONValue with Value

    BSON Timestamp value

  30. sealed trait BSONUndefined extends BSONValue with Value

    BSON undefined value

  31. sealed trait BSONValue extends AnyRef

    A BSON value

  32. trait BSONWriter[T] extends AnyRef

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

  33. type BaseColl[T] = Iterable[T]
    Definition Classes
    Aliases
  34. sealed trait DocumentClass[T] extends AnyRef

    Evidence that T can be serialized as a BSON document.

    Evidence that T can be serialized as a BSON document.

    Annotations
    @silent()
  35. sealed trait ElementProducer extends Producer[BSONElement]

    See BSONDocument

  36. trait FieldNaming extends (String) => String

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

  37. trait KeyReader[T] extends AnyRef

    Mapping from a BSON string to T

  38. trait KeyWriter[T] extends AnyRef

    Mapping from a BSON string to T.

    Mapping from a BSON string to T.

    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}
  39. sealed trait MacroConfiguration extends AnyRef

    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]
    See also

    documentation

  40. sealed trait MacroOptions extends AnyRef

    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]
  41. sealed trait Producer[T] extends AnyRef
  42. type StringOps = scala.collection.StringOps
    Definition Classes
    Aliases
  43. sealed trait Subtype extends AnyRef

    Binary Subtype

  44. 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
      })
  45. final class ¬[A, B] extends AnyRef

    Type level evidence that type A is not type B.

    Type level evidence that type A is not type B.

    Annotations
    @SuppressWarnings()

Value Members

  1. def array(values: Producer[BSONValue]*): BSONArray

    Returns an array with given values.

    Returns an array with given values.

    import reactivemongo.api.bson._
    
    val arr = array("bar", 1L) // [ 'bar', NumberLong(1) ]
  2. def array: BSONArray

    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' ]
  3. implicit def bsonArrayReader: BSONReader[BSONArray]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  4. implicit def bsonArrayWriter: BSONWriter[BSONArray]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  5. implicit def bsonBinaryReader: BSONReader[BSONBinary]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  6. implicit def bsonBinaryWriter: BSONWriter[BSONBinary]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  7. implicit def bsonBooleanReader: BSONReader[BSONBoolean]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  8. implicit def bsonBooleanWriter: BSONWriter[BSONBoolean]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  9. implicit def bsonDateTimeReader: BSONReader[BSONDateTime]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  10. implicit def bsonDateTimeWriter: BSONWriter[BSONDateTime]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  11. implicit def bsonDecimalReader: BSONReader[BSONDecimal]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  12. implicit def bsonDecimalWriter: BSONWriter[BSONDecimal]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  13. implicit def bsonDocumentReader: BSONDocumentReader[BSONDocument]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  14. implicit def bsonDocumentWriter: BSONDocumentWriter[BSONDocument]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  15. implicit def bsonDoubleReader: BSONReader[BSONDouble]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  16. implicit def bsonDoubleWriter: BSONWriter[BSONDouble]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  17. implicit def bsonIntegerReader: BSONReader[BSONInteger]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  18. implicit def bsonIntegerWriter: BSONWriter[BSONInteger]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  19. implicit def bsonJavaScriptReader: BSONReader[BSONJavaScript]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  20. implicit def bsonJavaScriptWSReader: BSONReader[BSONJavaScriptWS]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  21. implicit def bsonJavaScriptWSWriter: BSONWriter[BSONJavaScriptWS]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  22. implicit def bsonJavaScriptWriter: BSONWriter[BSONJavaScript]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  23. def bsonLocalDateHandler(zone: ZoneId): BSONHandler[LocalDate]

    Returns a BSON handler for java.time.LocalDate, considering the specified time zone.

    Returns a BSON handler for java.time.LocalDate, considering the specified time zone.

    Definition Classes
    DefaultBSONHandlers
    Annotations
    @inline()
  24. implicit val bsonLocalDateHandler: BSONHandler[LocalDate]
    Definition Classes
    DefaultBSONHandlers
  25. def bsonLocalDateTimeHandler(zone: ZoneId): BSONHandler[LocalDateTime]

    Returns a BSON handler for java.time.LocalDateTime, considering the specified time zone.

    Returns a BSON handler for java.time.LocalDateTime, considering the specified time zone.

    Definition Classes
    DefaultBSONHandlers
    Annotations
    @inline()
  26. implicit val bsonLocalDateTimeHandler: BSONHandler[LocalDateTime]
    Definition Classes
    DefaultBSONHandlers
  27. implicit def bsonLongReader: BSONReader[BSONLong]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  28. implicit def bsonLongWriter: BSONWriter[BSONLong]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  29. implicit def bsonMapKeyWriter[K, V <: BSONValue](implicit keyWriter: KeyWriter[K]): BSONDocumentWriter[Map[K, V]]
    Definition Classes
    LowPriority3BSONHandlers
  30. implicit def bsonMapWriter[V <: BSONValue]: BSONDocumentWriter[Map[String, V]]
    Definition Classes
    LowPriority1BSONHandlers
  31. implicit def bsonMaxKeyReader: BSONReader[BSONMaxKey]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  32. implicit def bsonMaxKeyWriter: BSONWriter[BSONMaxKey]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  33. implicit def bsonMinKeyReader: BSONReader[BSONMinKey]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  34. implicit def bsonMinKeyWriter: BSONWriter[BSONMinKey]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  35. implicit def bsonNullReader: BSONReader[BSONNull]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  36. implicit def bsonNullWriter: BSONWriter[BSONNull]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  37. implicit def bsonObjectIDReader: BSONReader[BSONObjectID]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  38. implicit def bsonObjectIDWriter: BSONWriter[BSONObjectID]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  39. def bsonOffsetDateTimeHandler(zone: ZoneId): BSONHandler[OffsetDateTime]

    Returns a BSON handler for java.time.OffsetDateTime, considering the specified time zone.

    Returns a BSON handler for java.time.OffsetDateTime, considering the specified time zone.

    Definition Classes
    DefaultBSONHandlers
    Annotations
    @inline()
  40. implicit val bsonOffsetDateTimeHandler: BSONHandler[OffsetDateTime]
    Definition Classes
    DefaultBSONHandlers
  41. implicit def bsonRegexReader: BSONReader[BSONRegex]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  42. implicit def bsonRegexWriter: BSONWriter[BSONRegex]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  43. implicit def bsonStringReader: BSONReader[BSONString]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  44. implicit def bsonStringWriter: BSONWriter[BSONString]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  45. implicit def bsonSymbolReader: BSONReader[BSONSymbol]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  46. implicit def bsonSymbolWriter: BSONWriter[BSONSymbol]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  47. implicit def bsonTimestampReader: BSONReader[BSONTimestamp]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  48. implicit def bsonTimestampWriter: BSONWriter[BSONTimestamp]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  49. implicit def bsonUndefinedReader: BSONReader[BSONUndefined]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  50. implicit def bsonUndefinedWriter: BSONWriter[BSONUndefined]
    Definition Classes
    BSONIdentityHandlers
    Annotations
    @inline()
  51. def bsonZonedDateTimeHandler(zone: ZoneId): BSONHandler[ZonedDateTime]

    Returns a BSON handler for java.time.ZonedDateTime, considering the specified time zone.

    Returns a BSON handler for java.time.ZonedDateTime, considering the specified time zone.

    Definition Classes
    DefaultBSONHandlers
    Annotations
    @inline()
  52. implicit val bsonZonedDateTimeHandler: BSONHandler[ZonedDateTime]
    Definition Classes
    DefaultBSONHandlers
  53. implicit final def collectionReader[M[_], T](implicit f: Factory[T, M[T]], reader: BSONReader[T]): BSONReader[M[T]]
    Definition Classes
    LowPriorityBSONHandlersCompat
  54. implicit def collectionWriter[T, Repr](implicit arg0: (Repr) => Iterable[T], writer: BSONWriter[T], notOption: ¬[Repr, Option[T]]): BSONWriter[Repr]
    Definition Classes
    LowPriority1BSONHandlers
    Annotations
    @silent()
  55. def document(elements: ElementProducer*): BSONDocument

    Returns a document with given elements.

    Returns a document with given elements.

    import reactivemongo.api.bson._
    
    val doc = document("foo" -> 1)
    // { 'foo': 1 }
  56. def document: BSONDocument

    Returns an empty document.

    Returns an empty document.

    import reactivemongo.api.bson._
    
    val doc = document ++ ("foo" -> 1)
    // { 'foo': 1 }
  57. def element(name: String, value: BSONValue): BSONElement
  58. def generateId: BSONObjectID

    Returns a newly generated object ID.

  59. implicit def mapKeyReader[K, V](implicit keyReader: KeyReader[K], valueReader: BSONReader[V]): BSONDocumentReader[Map[K, V]]
    Definition Classes
    LowPriority2BSONHandlers
  60. implicit def mapKeySafeWriter[K, V](implicit keyWriter: KeyWriter[K] with SafeKeyWriter[K], valueWriter: BSONWriter[V] with SafeBSONWriter[V]): BSONDocumentWriter[Map[K, V]]
    Definition Classes
    LowPriority3BSONHandlers
  61. implicit def mapKeyWriter[K, V](implicit keyWriter: KeyWriter[K], valueWriter: BSONWriter[V]): BSONDocumentWriter[Map[K, V]]
    Definition Classes
    LowPriority4BSONHandlers
  62. implicit def mapReader[V](implicit valueReader: BSONReader[V]): BSONDocumentReader[Map[String, V]]
    Definition Classes
    LowPriority1BSONHandlers
  63. implicit def mapSafeWriter[V](implicit valueWriter: BSONWriter[V] with SafeBSONWriter[V]): BSONDocumentWriter[Map[String, V]]
    Definition Classes
    LowPriority1BSONHandlers
  64. implicit def mapWriter[V](implicit valueWriter: BSONWriter[V]): BSONDocumentWriter[Map[String, V]]
    Definition Classes
    LowPriority2BSONHandlers
  65. def maxKey: BSONMaxKey

    Returns a BSON MaxKey value

  66. macro def migrationRequired[A](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.

    Annotations
    @SuppressWarnings()
  67. def minKey: BSONMinKey

    Returns a BSON MinKey value

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

    Key/value ordering

    Key/value ordering

    import reactivemongo.api.bson.BSONString
    
    Seq("foo" -> BSONString("1"), "bar" -> BSONString("1")).
      sorted // == [ "bar" -> .., "foo" -> .. ]
  69. def null: BSONNull

    Returns a BSON Null value

  70. def undefined: BSONUndefined

    Returns a BSON Undefined value

  71. object BSON

    Utility functions

  72. object BSONArray

    BSONArray utilities

    BSONArray utilities

    import reactivemongo.api.bson.{ BSONArray, BSONString }
    
    BSONArray("foo", 1) match {
      case BSONArray(BSONString(s) +: _) => s == "foo"
      case _ => false
    }
  73. 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())
  74. implicit object BSONBinaryHandler extends BSONHandler[Array[Byte]] with SafeBSONWriter[Array[Byte]]
    Definition Classes
    DefaultBSONHandlers
  75. object BSONBoolean
  76. implicit object BSONBooleanHandler extends BSONHandler[Boolean] with SafeBSONWriter[Boolean]
    Definition Classes
    DefaultBSONHandlers
  77. object BSONBooleanLike

    BSONBooleanLike utilities

  78. object BSONDateTime
  79. implicit object BSONDateTimeHandler extends BSONHandler[Instant] with SafeBSONWriter[Instant]
    Definition Classes
    DefaultBSONHandlers
  80. object BSONDecimal
  81. implicit object BSONDecimalHandler extends BSONHandler[BigDecimal]
    Definition Classes
    DefaultBSONHandlers
  82. object BSONDocument

    BSONDocument factories & utilities.

    BSONDocument factories & utilities.

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

    BSONDocumentHandler factories

  84. object BSONDocumentReader

    BSONDocumentReader factories

  85. object BSONDocumentWriter

    BSONDocumentWriter factories.

  86. object BSONDouble

    BSONDouble utilities

    BSONDouble utilities

    import reactivemongo.api.bson.BSONDouble
    
    BSONDouble(1.23D) match {
      case BSONDouble(v) => assert(v == 1.23D)
      case _ => ???
    }
  87. implicit object BSONDoubleHandler extends BSONHandler[Double] with SafeBSONWriter[Double]
    Definition Classes
    DefaultBSONHandlers
  88. object BSONElement extends BSONElementLowPriority

    BSONElement factories and utilities.

  89. implicit object BSONFloatHandler extends BSONHandler[Float] with SafeBSONWriter[Float]
    Definition Classes
    DefaultBSONHandlers
  90. object BSONHandler

    BSONHandler factories

  91. object BSONInteger
  92. implicit object BSONIntegerHandler extends BSONHandler[Int] with SafeBSONWriter[Int]
    Definition Classes
    DefaultBSONHandlers
  93. object BSONJavaScript
  94. object BSONJavaScriptWS
  95. object BSONLong
  96. implicit object BSONLongHandler extends BSONHandler[Long] with SafeBSONWriter[Long]
    Definition Classes
    DefaultBSONHandlers
  97. object BSONMaxKey extends BSONMaxKey
  98. object BSONMinKey extends BSONMinKey
  99. object BSONNull extends BSONNull
  100. object BSONNumberLike

    BSONNumberLike utilities

  101. object BSONObjectID

    BSONObjectID utilities

  102. object BSONReader extends BSONReaderCompat

    BSONReader factories

  103. object BSONRegex
  104. object BSONString

    BSONString utilities

    BSONString utilities

    import reactivemongo.api.bson.BSONString
    
    BSONString("foo") match {
      case BSONString(v) => v == "foo"
      case _ => false
    }
  105. implicit object BSONStringHandler extends BSONHandler[String] with SafeBSONWriter[String]
    Definition Classes
    DefaultBSONHandlers
  106. object BSONSymbol
  107. object BSONTimestamp

    Timestamp companion

  108. implicit object BSONURIHandler extends BSONHandler[URI] with SafeBSONWriter[URI]
    Definition Classes
    DefaultBSONHandlers
  109. implicit object BSONURLHandler extends BSONHandler[URL] with SafeBSONWriter[URL]
    Definition Classes
    DefaultBSONHandlers
  110. implicit object BSONUUIDHandler extends BSONHandler[UUID] with SafeBSONWriter[UUID]
    Definition Classes
    DefaultBSONHandlers
  111. object BSONUndefined extends BSONUndefined

    Single value for BSONUndefined type

  112. object BSONValue extends BSONValueLowPriority1

    BSONValue factories and utilities

  113. implicit object BSONValueIdentity extends BSONReader[BSONValue] with BSONWriter[BSONValue]
    Definition Classes
    BSONIdentityLowPriorityHandlers
  114. object BSONWriter extends BSONWriterCompat

    BSONWriter factories.

  115. object DocumentClass

    See DocumentClass

  116. object ElementProducer extends ElementProducerLowPriority
  117. object FieldNaming

    Naming companion

  118. object KeyReader
  119. object KeyWriter extends LowPriorityKeyWriter

    KeyWriter factories

  120. object MacroConfiguration

    MacroConfiguration factories and utilities

  121. object MacroOptions

    MacroOptions factories & utilities.

  122. object Macros

    Macros for generating BSONReader and BSONWriter at compile time.

    Macros for generating BSONReader and BSONWriter at compile time.

    import reactivemongo.api.bson.Macros
    
    case class Person(name: String, surname: String)
    
    implicit val personHandler = Macros.handler[Person]
    See also

    MacroOptions for specific options

    MacroConfiguration for extended configuration

  123. object Subtype
  124. object TypeNaming

    TypeNaming factories

  125. object ¬
    Annotations
    @SuppressWarnings()

Inherited from Utils

Inherited from Aliases

Inherited from DefaultBSONHandlers

Inherited from BSONIdentityHandlers

Inherited from BSONIdentityLowPriorityHandlers

Inherited from LowPriority1BSONHandlers

Inherited from LowPriority2BSONHandlers

Inherited from LowPriority3BSONHandlers

Inherited from LowPriority4BSONHandlers

Inherited from LowPriorityBSONHandlersCompat

Inherited from AnyRef

Inherited from Any

Ungrouped