Tries to produce a BSON value from an instance of T
.
Tries to produce a BSON value from an instance of T
.
import scala.util.Try import reactivemongo.api.bson.{ BSONWriter, BSONValue } def toBSON[T](value: T)(implicit w: BSONWriter[T]): Try[BSONValue] = w.writeTry(value)
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
If the f
function is not defined for a BSONValue,
it will results in a Failure
.
the partial function to apply
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
Prepares a BSON writer that returns the result of applying f
on the BSON value from this writer.
the safe function to apply
Prepares a BSON writer that converts the input before calling the current writer.
Prepares a BSON writer that converts the input before calling the current writer.
the function apply the U
input value to convert at T
value used to the current writer
import reactivemongo.api.bson.BSONWriter val w: BSONWriter[String] = implicitly[BSONWriter[Int]].beforeWrite(_.size) w.writeTry("foo") // Success: BSONInteger(3)
Narrows this writer for a compatible type U
.
Narrows this writer for a compatible type U
.
import reactivemongo.api.bson.BSONWriter val listWriter: BSONWriter[Seq[String]] = implicitly[BSONWriter[Seq[String]]] val narrowAsListWriter: BSONWriter[List[String]] = listWriter.narrow[List[String]] // as List[String] <: Seq[String]
must be a sub-type of T
Tries to produce a BSON value from an instance of T
,
returns None
if an error occurred.
Tries to produce a BSON value from an instance of T
,
returns None
if an error occurred.
import reactivemongo.api.bson.{ BSONWriter, BSONValue } def maybeBSON[T](value: T)(implicit w: BSONWriter[T]): Option[BSONValue] = w.writeOpt(value)
BSONWriter specialized for BSONDocument