BSONArray

sealed abstract class BSONArray extends BSONValue

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

import reactivemongo.api.bson._

BSONArray(BSONString("foo"), BSONDouble(1.2D))
Companion:
object
trait BSONValue
class Object
trait Matchable
class Any

Value members

Abstract methods

The BSON values

The BSON values

Concrete methods

Returns a BSON array with the values of the given one appended.

Returns a BSON array with the values of the given one appended.

import reactivemongo.api.bson.BSONArray

val arr1 = BSONArray(1, "foo")
val arr2 = BSONArray(2L, "bar")

arr1 ++ arr2 // [ 1, 'foo', NumberLong(2), 'bar' ]
def ++(values: BSONValue*): BSONArray

Returns a BSON array with the given values appended.

Returns a BSON array with the given values appended.

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

val arr = BSONArray(1, "foo")

arr ++ BSONLong(3L) // [ 1, 'foo', NumberLong(3) ]
def +:(value: BSONValue): BSONArray

Returns a BSON array with the given value prepended.

Returns a BSON array with the given value prepended.

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

BSONString("foo") +: BSONArray(1L) // [ 'foo', NumberLong(1) ]
override def equals(that: Any): Boolean
Definition Classes
Any
def get(index: Int): Option[BSONValue]

Returns the BSONValue at the given index.

Returns the BSONValue at the given index.

If there is no such index, None is returned.

def secondAsString(
 a: reactivemongo.api.bson.BSONArray): Option[String] =
 a.get(1).flatMap(_.asOpt[String])
Value parameters:
index

the index to be found in the array (0 being the first)

def getAsOpt[T](index: Int)(implicit reader: BSONReader[T]): Option[T]

Returns the BSONValue at the given index, and converts it with the given implicit BSONReader.

Returns the BSONValue at the given index, and converts it with the given implicit BSONReader.

If there is no matching value, or the value could not be deserialized, or converted, returns a None.

import reactivemongo.api.bson.BSONArray

val arr = BSONArray(1, "foo")

arr.getAsOpt[Int](0) // Some(1)
arr.getAsOpt[Int](1) // None; "foo" not int
Value parameters:
index

the index to be found in the array (0 being the first)

def getAsTry[T](index: Int)(implicit reader: BSONReader[T]): Try[T]

Gets the BSONValue at the given index, and converts it with the given implicit BSONReader.

Gets the BSONValue at the given index, and converts it with the given implicit BSONReader.

If there is no matching value, or the value could not be deserialized, or converted, returns a Failure.

The Failure holds a exceptions.BSONValueNotFoundException if the index could not be found.

import reactivemongo.api.bson.BSONArray

val arr = BSONArray(1, "foo")

arr.getAsTry[Int](0) // Success(1)
arr.getAsTry[Int](1) // Failure(BSONValueNotFoundException(..))
Value parameters:
index

the index to be found in the array (0 being the first)

def getAsUnflattenedTry[T](index: Int)(implicit reader: BSONReader[T]): Try[Option[T]]

Gets the BSONValue at the given index, and converts it with the given implicit BSONReader.

Gets the BSONValue at the given index, and converts it with the given implicit BSONReader.

If there is no matching value, Success(None) is returned. If there is a value, it must be valid or a Failure is returned.

import reactivemongo.api.bson.BSONArray

val arr = BSONArray(1, "foo")

arr.getAsUnflattenedTry[Int](0) // Success(Some(1))
arr.getAsUnflattenedTry[Int](1) // Failure(BSONValueNotFoundException(..))
arr.getAsUnflattenedTry[Int](2) // Success(None) // no value at 2
Value parameters:
index

the index to be found in the array (0 being the first)

def getOrElse[T](index: Int, default: => T)(implicit reader: BSONReader[T]): T

Returns the BSONValue at the given index, and converts it with the given implicit BSONReader.

Returns the BSONValue at the given index, and converts it with the given implicit BSONReader.

If there is no matching value, or the value could not be deserialized, or converted, returns the default value.

import reactivemongo.api.bson.BSONArray

val arr = BSONArray(1, "foo")

arr.getOrElse[Int](0, -1) // 1
arr.getOrElse[Int](1, -1) // -1; "foo" not int
Value parameters:
index

the index to be found in the array (0 being the first)

override def hashCode: Int
Definition Classes
Any

The first/mandatory value, if any

The first/mandatory value, if any

Indicates whether this array is empty

Indicates whether this array is empty

def size: Int

The number of values

The number of values

override def toString: String
Definition Classes
Any

Inherited methods

final def asOpt[T](implicit reader: BSONReader[T]): Option[T]

Optionally parses this value as a T one.

Optionally parses this value as a T one.

Returns:

Some successfully parsed value, or None if fails

import reactivemongo.api.bson.BSONValue
def foo(v: BSONValue): Option[String] = v.asOpt[String]
Inherited from:
BSONValue
final def asTry[T](implicit reader: BSONReader[T]): Try[T]

Tries to parse this value as a T one.

Tries to parse this value as a T one.

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

def foo(v: BSONValue): Try[String] = v.asTry[String]
Inherited from:
BSONValue

Concrete fields

val code: Int