A BSONArray
(type 0x04
) is a indexed sequence of BSONValue.
import reactivemongo.api.bson._
BSONArray(BSONString("foo"), BSONDouble(1.2D))
Attributes
- Companion:
- object
- Graph
- Supertypes
Members list
Value members
Abstract methods
The BSON values
The BSON values
Attributes
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' ]
Attributes
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) ]
Attributes
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) ]
Attributes
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Compares the receiver object (this
) with the argument object (that
) for equivalence.
Any implementation of this method should be an equivalence relation:
- It is reflexive: for any instance
x
of typeAny
,x.equals(x)
should returntrue
. - It is symmetric: for any instances
x
andy
of typeAny
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any instances
x
,y
, andz
of typeAny
ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
.
If you override this method, you should verify that your implementation remains an equivalence relation.
Additionally, when overriding this method it is usually necessary to override hashCode
to ensure that
objects which are "equal" (o1.equals(o2)
returns true
) hash to the same scala.Int.
(o1.hashCode.equals(o2.hashCode)
).
Attributes
- that
the object to compare against this object for equality.
- Returns:
true
if the receiver object is equivalent to the argument;false
otherwise.- Definition Classes
- Any
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])
Attributes
- index
the index to be found in the array (
0
being the first)
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
Attributes
- index
the index to be found in the array (
0
being the first)
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(..))
Attributes
- index
the index to be found in the array (
0
being the first)
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
Attributes
- index
the index to be found in the array (
0
being the first)
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
Attributes
- index
the index to be found in the array (
0
being the first)
Calculate a hash code value for the object.
Calculate a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)
) yet
not be equal (o1.equals(o2)
returns false
). A degenerate implementation could always return 0
.
However, it is required that if two objects are equal (o1.equals(o2)
returns true
) that they have
identical hash codes (o1.hashCode.equals(o2.hashCode)
). Therefore, when overriding this method, be sure
to verify that the behavior is consistent with the equals
method.
Attributes
- Returns:
the hash code value for this object.
- Definition Classes
- Any
The first/mandatory value, if any
The first/mandatory value, if any
Attributes
Indicates whether this array is empty
Indicates whether this array is empty
Attributes
Inherited methods
Optionally parses this value as a T
one.
Optionally parses this value as a T
one.
Attributes
- Returns:
Some
successfully parsed value, orNone
if failsimport reactivemongo.api.bson.BSONValue def foo(v: BSONValue): Option[String] = v.asOpt[String]
- Inherited from:
- BSONValue
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]
Attributes
- Inherited from:
- BSONValue