BSONDocumentReader

trait BSONDocumentReader[T] extends BSONReader[T]

BSONReader specialized for BSONDocument

Companion:
object
trait BSONReader[T]
class Object
trait Matchable
class Any
object Handler.type

Value members

Abstract methods

Tries to produce an instance of T from the document.

Tries to produce an instance of T from the document.

import scala.util.Try
import reactivemongo.api.bson.{ BSONDocument, BSONDocumentReader }

def fromBSON[T](document: BSONDocument)(
 implicit r: BSONDocumentReader[T]): Try[T] = r.readTry(document)

Concrete methods

final override def afterRead[U](f: T => U): BSONDocumentReader[U]
Definition Classes
final def readTry(bson: BSONValue): Try[T]
@SuppressWarnings(scala.Array.apply[java.lang.String]("AsInstanceOf")(scala.reflect.ClassTag.apply[java.lang.String](classOf[java.lang.String])))
override def widen[U >: T]: BSONDocumentReader[U]
Definition Classes

Inherited methods

Prepares a BSONReader that transforms the input BSON value, using the given f function, before passing the transformed BSON value to the current reader.

Prepares a BSONReader that transforms the input BSON value, using the given f function, before passing the transformed BSON value to the current reader.

import reactivemongo.api.bson.{
 BSONReader, BSONInteger, BSONNull, BSONString
}

val normalizingReader: BSONReader[Int] =
 implicitly[BSONReader[Int]].beforeRead {
   case BSONNull => BSONInteger(-1)
   case BSONString(s) => BSONInteger(s.size)
   // other values are unchanged
 }

normalizingReader.readOpt(BSONNull) // Some(-1)
normalizingReader.readTry(BSONString("foo")) // Success(3)
normalizingReader.readOpt(BSONInteger(4)) // unchanged: Some(4)
Inherited from:
BSONReader

Prepares a BSONReader that transforms the input BSON value, using the given f function, before passing the transformed BSON value to the current reader.

Prepares a BSONReader that transforms the input BSON value, using the given f function, before passing the transformed BSON value to the current reader.

Inherited from:
BSONReader
def readOpt(bson: BSONValue): Option[T]

Tries to produce an instance of T from the bson value, returns None if an error occurred.

Tries to produce an instance of T from the bson value, returns None if an error occurred.

import reactivemongo.api.bson.{ BSONReader, BSONValue }

def fromBSON[T](bson: BSONValue)(implicit r: BSONReader[T]): Option[T] =
 r.readOpt(bson)
Inherited from:
BSONReader
def readOrElse(bson: BSONValue, default: => T): T

Tries to produce an instance of T from the bson value, returns the default value if an error occurred.

Tries to produce an instance of T from the bson value, returns the default value if an error occurred.

import reactivemongo.api.bson.{ BSONReader, BSONValue }

def fromBSON[T](bson: BSONValue, v: T)(implicit r: BSONReader[T]): T =
 r.readOrElse(bson, v)
Inherited from:
BSONReader