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

Type members

Classlikes

object BSON

Utility functions

Utility functions

Attributes

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
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
Supertypes
class Object
trait Matchable
class Any
Self type
BSONArray.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)

Value parameters

subtype

The type of the binary content.

value

The binary content.

Attributes

Companion
object
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
Supertypes
class Object
trait Matchable
class Any
Self type
BSONBinary.type
final class BSONBoolean extends BSONValue

BSON boolean value

BSON boolean value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONBoolean

BSONBoolean factories & utilities

BSONBoolean factories & utilities

Attributes

Companion
class
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
Supertypes
class Object
trait Matchable
class Any

BSONBooleanLike utilities

BSONBooleanLike utilities

Attributes

Companion
trait
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
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONDateTime

BSONDateTime factories & utilities

BSONDateTime factories & utilities

Attributes

Companion
class
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.

Value parameters

high

the high-order 64 bits

low

the low-order 64 bits

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Show all
object BSONDecimal

BSONDecimal factories & utilities

BSONDecimal factories & utilities

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class BSONDocument extends BSONValue, 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
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Show all
Known subtypes
Self type
object BSONDocument

BSONDocument factories & utilities.

BSONDocument factories & utilities.

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

Attributes

Companion
class
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
Supertypes
trait BSONHandler[T]
trait BSONWriter[T]
trait BSONReader[T]
class Object
trait Matchable
class Any
Show all
Known subtypes
object Handler

Attributes

Companion
trait
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
Supertypes
trait BSONReader[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler
Self type

BSONDocumentReader factories

BSONDocumentReader factories

Attributes

Companion
trait
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
Supertypes
trait BSONWriter[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler
Self type

BSONDocumentWriter factories.

BSONDocumentWriter factories.

Attributes

Companion
trait
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
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Show all
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
Supertypes
class Object
trait Matchable
class Any
Self type
BSONDouble.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
Supertypes
class Object
trait Matchable
class Any
object BSONElement

BSONElement factories and utilities.

BSONElement factories and utilities.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
trait BSONHandler[T] extends BSONReader[T], 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
Supertypes
trait BSONWriter[T]
trait BSONReader[T]
class Object
trait Matchable
class Any
Known subtypes
object BSONHandler

BSONHandler factories

BSONHandler factories

Attributes

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

BSON Integer value

BSON Integer value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Show all
object BSONInteger

BSONInteger factories & utilities

BSONInteger factories & utilities

Attributes

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

BSON JavaScript value.

BSON JavaScript value.

Value parameters

value

The JavaScript source code.

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONJavaScript factories & utilities

BSONJavaScript factories & utilities

Attributes

Companion
class
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).

Value parameters

value

The JavaScript source code.

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any

BSONJavaScriptWS factories & utilities

BSONJavaScriptWS factories & utilities

Attributes

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

BSON Long value

BSON Long value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Show all
object BSONLong

BSONLong factories & utilities

BSONLong factories & utilities

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
BSONLong.type
sealed trait BSONMaxKey extends BSONValue

BSON Max key value

BSON Max key value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONMaxKey
object BSONMaxKey extends BSONMaxKey

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
trait BSONMaxKey
trait BSONValue
class Object
trait Matchable
class Any
Show all
Self type
BSONMaxKey.type
sealed trait BSONMinKey extends BSONValue

BSON Min key value

BSON Min key value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONMinKey
object BSONMinKey extends BSONMinKey

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
trait BSONMinKey
trait BSONValue
class Object
trait Matchable
class Any
Show all
Self type
BSONMinKey.type
sealed trait BSONNull extends BSONValue

BSON null value

BSON null value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONNull
object BSONNull extends BSONNull

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
trait BSONNull
trait BSONValue
class Object
trait Matchable
class Any
Show all
Self type
BSONNull.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
Supertypes
class Object
trait Matchable
class Any

BSONNumberLike utilities

BSONNumberLike utilities

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
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

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONObjectID

BSONObjectID utilities

BSONObjectID utilities

Attributes

Companion
class
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
object BSONReader

BSONReader factories

BSONReader factories

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
BSONReader.type
final class BSONRegex extends BSONValue

BSON Regex value.

BSON Regex value.

Value parameters

flags

the regex flags

value

the regex value (expression)

Attributes

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

BSONRegex factories & utilities

BSONRegex factories & utilities

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
BSONRegex.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

Supertypes
class BSONDocument
trait BSONValue
class Object
trait Matchable
class Any
Show all
Self type
final class BSONString extends BSONValue

A BSON string.

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

Attributes

Companion
object
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
Supertypes
class Object
trait Matchable
class Any
Self type
BSONString.type
final class BSONSymbol extends BSONValue

BSON Symbol value.

BSON Symbol value.

Value parameters

value

the symbol value (name)

Attributes

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

BSONSymbol factories & utilities

BSONSymbol factories & utilities

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
BSONSymbol.type
sealed abstract class BSONTimestamp extends BSONValue

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
object BSONTimestamp

Timestamp companion

Timestamp companion

Attributes

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

BSON undefined value

BSON undefined value

Attributes

Companion
object
Supertypes
trait BSONValue
class Object
trait Matchable
class Any
Known subtypes
object BSONUndefined
object BSONUndefined extends BSONUndefined

Single value for BSONUndefined type

Single value for BSONUndefined type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
trait BSONValue
class Object
trait Matchable
class Any
Show all
Self type
sealed trait BSONValue

A BSON value

A BSON value

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class BSONArray
class BSONBinary
class BSONBoolean
class BSONDateTime
class BSONDecimal
class BSONDocument
class BSONDouble
class BSONInteger
class BSONLong
trait BSONMaxKey
object BSONMaxKey
trait BSONMinKey
object BSONMinKey
trait BSONNull
object BSONNull
class BSONObjectID
class BSONRegex
class BSONString
class BSONSymbol
object BSONUndefined
Show all
Self type
object BSONValue

BSONValue factories and utilities

BSONValue factories and utilities

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
BSONValue.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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object BSONWriter

BSONWriter factories.

BSONWriter factories.

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
BSONWriter.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
Supertypes
class Object
trait Matchable
class Any
object DocumentClass

Attributes

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
object EnumHandler

Utilities to handle Enumerations

Utilities to handle Enumerations

(Inspired by enumeratum)

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object EnumHelper

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
EnumHelper.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
Supertypes
trait String => String
class Object
trait Matchable
class Any
Known subtypes
object Identity
object PascalCase
object SnakeCase
object FieldNaming

Naming companion

Naming companion

Attributes

Companion
trait
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
Supertypes
class Object
trait Matchable
class Any
object KeyReader

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
KeyReader.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
Supertypes
class Object
trait Matchable
class Any
object KeyWriter

KeyWriter factories

KeyWriter factories

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
KeyWriter.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
Supertypes
class Object
trait Matchable
class Any

MacroConfiguration factories and utilities

MacroConfiguration factories and utilities

Attributes

Companion
trait
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
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Default
trait UnionType[Types]
trait Verbose
Show all
object MacroOptions

MacroOptions factories & utilities.

MacroOptions factories & utilities.

Attributes

Companion
trait
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

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object OpaqueAlias

Attributes

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

Attributes

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

Binary Subtype

Binary Subtype

Attributes

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

Attributes

Companion
trait
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
Supertypes
trait (Class[_]) => String
class Object
trait Matchable
class Any
Known subtypes
object FullName
object SimpleName
object TypeNaming

TypeNaming factories

TypeNaming factories

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
TypeNaming.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
Supertypes
class Object
trait Matchable
class Any
object ¬

Attributes

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

Inherited classlikes

protected class BSONArrayCollectionWriter[T, Repr](implicit ev: Repr => Iterable[T], writer: BSONWriter[T]) extends BSONWriter[Repr]

Attributes

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

Attributes

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

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
class Object
trait Matchable
class Any
Show all
object BSONByteHandler extends BSONHandler[Byte]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONHandler[Byte]
trait BSONWriter[Byte]
trait BSONReader[Byte]
class Object
trait Matchable
class Any
Show all
object BSONCharHandler extends BSONHandler[Char]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONHandler[Char]
trait BSONWriter[Char]
trait BSONReader[Char]
class Object
trait Matchable
class Any
Show all
object BSONDateTimeHandler extends BSONHandler[Instant]

Attributes

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

Attributes

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

Attributes

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

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONWriter[Float]
trait BSONReader[Float]
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONHandler[Int]
trait BSONWriter[Int]
trait BSONReader[Int]
class Object
trait Matchable
class Any
Show all
object BSONLocalTimeHandler extends BSONHandler[LocalTime]

Attributes

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

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONHandler[Locale]
trait BSONWriter[Locale]
trait BSONReader[Locale]
class Object
trait Matchable
class Any
Show all
object BSONLongHandler extends BSONHandler[Long]

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONHandler[Long]
trait BSONWriter[Long]
trait BSONReader[Long]
class Object
trait Matchable
class Any
Show all

Attributes

Inherited from:
DefaultBSONHandlers (hidden)
Supertypes
trait BSONWriter[Short]
trait BSONReader[Short]
class Object
trait Matchable
class Any
Show all

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Attributes

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

Inherited and Abstract classlikes

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

Attributes

Inherited from:
LowPriority1BSONHandlers (hidden)
Supertypes
trait BSONReader[M[T]]
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

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) ]

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)
val bsonOffsetDateTimeHandler: BSONHandler[OffsetDateTime]

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)