Struct bson::raw::RawArray [−][src]
#[repr(transparent)]pub struct RawArray { /* fields omitted */ }Expand description
A slice of a BSON document containing a BSON array value (akin to std::str). This can be
retrieved from a RawDocument via RawDocument::get.
This is an unsized type, meaning that it must always be used behind a pointer like &.
Accessing elements within a RawArray is similar to element access in crate::Document,
but because the contents are parsed during iteration instead of at creation time, format errors
can happen at any time during use.
Iterating over a RawArray yields either an error or a value that borrows from the
original document without making any additional allocations.
use bson::{doc, raw::RawDocument};
let doc = doc! {
"x": [1, true, "two", 5.5]
};
let bytes = bson::to_vec(&doc)?;
let rawdoc = RawDocument::new(bytes.as_slice())?;
let rawarray = rawdoc.get_array("x")?;
for v in rawarray {
println!("{:?}", v?);
}Individual elements can be accessed using RawArray::get or any of
the type-specific getters, such as RawArray::get_object_id or
RawArray::get_str. Note that accessing elements is an O(N) operation, as it
requires iterating through the array from the beginning to find the requested index.
use bson::{doc, raw::RawDocument};
let doc = doc! {
"x": [1, true, "two", 5.5]
};
let bytes = bson::to_vec(&doc)?;
let rawdoc = RawDocument::new(bytes.as_slice())?;
let rawarray = rawdoc.get_array("x")?;
assert_eq!(rawarray.get_bool(1)?, true);Implementations
Gets a reference to the value at the given index.
Gets the BSON double at the given index or returns an error if the value at that index isn’t a double.
Gets a reference to the string at the given index or returns an error if the value at that index isn’t a string.
Gets a reference to the document at the given index or returns an error if the value at that index isn’t a document.
Gets a reference to the array at the given index or returns an error if the value at that index isn’t a array.
Gets a reference to the BSON binary value at the given index or returns an error if the value at that index isn’t a binary.
Gets the ObjectId at the given index or returns an error if the value at that index isn’t an ObjectId.
Gets the boolean at the given index or returns an error if the value at that index isn’t a boolean.
Gets the DateTime at the given index or returns an error if the value at that index isn’t a DateTime.
Gets a reference to the BSON regex at the given index or returns an error if the value at that index isn’t a regex.
Gets a reference to the BSON timestamp at the given index or returns an error if the value at that index isn’t a timestamp.
Gets the BSON int32 at the given index or returns an error if the value at that index isn’t a 32-bit integer.
Gets BSON int64 at the given index or returns an error if the value at that index isn’t a 64-bit integer.
Trait Implementations
Deserialize this value from the given Serde deserializer. Read more
type IntoIter = RawArrayIter<'a>
type IntoIter = RawArrayIter<'a>
Which kind of iterator are we turning this into?
fn into_iter(self) -> RawArrayIter<'a>ⓘNotable traits for RawArrayIter<'a>impl<'a> Iterator for RawArrayIter<'a> type Item = Result<RawBson<'a>>;
fn into_iter(self) -> RawArrayIter<'a>ⓘNotable traits for RawArrayIter<'a>impl<'a> Iterator for RawArrayIter<'a> type Item = Result<RawBson<'a>>;
impl<'a> Iterator for RawArrayIter<'a> type Item = Result<RawBson<'a>>;Creates an iterator from a value. Read more