[][src]Enum bson::Bson

pub enum Bson {
    Double(f64),
    String(String),
    Array(Array),
    Document(Document),
    Boolean(bool),
    Null,
    RegularExpression(Regex),
    JavaScriptCode(String),
    JavaScriptCodeWithScope(JavaScriptCodeWithScope),
    Int32(i32),
    Int64(i64),
    Timestamp(Timestamp),
    Binary(Binary),
    ObjectId(ObjectId),
    DateTime(DateTime<Utc>),
    Symbol(String),
    Decimal128(Decimal128),
    Undefined,
    MaxKey,
    MinKey,
    DbPointer(DbPointer),
}

Possible BSON value types.

Variants

Double(f64)

64-bit binary floating point

String(String)

UTF-8 string

Array(Array)

Array

Document(Document)

Embedded document

Boolean(bool)

Boolean value

Null

Null value

RegularExpression(Regex)

Regular expression

JavaScriptCode(String)

JavaScript code

JavaScriptCodeWithScope(JavaScriptCodeWithScope)

JavaScript code w/ scope

Int32(i32)

32-bit signed integer

Int64(i64)

64-bit signed integer

Timestamp(Timestamp)

Timestamp

Binary(Binary)

Binary data

ObjectId(ObjectId)
DateTime(DateTime<Utc>)

UTC datetime

Symbol(String)

Symbol (Deprecated)

Decimal128(Decimal128)
Undefined

Undefined value (Deprecated)

MaxKey

Max key

MinKey

Min key

DbPointer(DbPointer)

DBPointer (Deprecated)

Implementations

impl Bson[src]

pub fn into_relaxed_extjson(self) -> Value[src]

Converts the Bson value into its relaxed extended JSON representation.

Note: extended json encoding for Decimal128 values is not supported without the "decimal128" feature flag. If this method is called on a case which contains a Decimal128 value, it will panic.

pub fn into_canonical_extjson(self) -> Value[src]

Converts the Bson value into its canonical extended JSON representation.

Note: extended json encoding for Decimal128 values is not supported without the "decimal128" feature flag. If this method is called on a case which contains a Decimal128 value, it will panic.

pub fn element_type(&self) -> ElementType[src]

Get the ElementType of this value.

impl Bson[src]

Value helpers

pub fn as_f64(&self) -> Option<f64>[src]

If Bson is Double, return its value as an f64. Returns None otherwise

pub fn as_str(&self) -> Option<&str>[src]

If Bson is String, return its value as a &str. Returns None otherwise

pub fn as_str_mut(&mut self) -> Option<&mut str>[src]

If Bson is String, return a mutable reference to its value as a str. Returns None otherwise

pub fn as_array(&self) -> Option<&Array>[src]

If Bson is Array, return its value. Returns None otherwise

pub fn as_array_mut(&mut self) -> Option<&mut Array>[src]

If Bson is Array, return a mutable reference to its value. Returns None otherwise

pub fn as_document(&self) -> Option<&Document>[src]

If Bson is Document, return its value. Returns None otherwise

pub fn as_document_mut(&mut self) -> Option<&mut Document>[src]

If Bson is Document, return a mutable reference to its value. Returns None otherwise

pub fn as_bool(&self) -> Option<bool>[src]

If Bson is Bool, return its value. Returns None otherwise

pub fn as_i32(&self) -> Option<i32>[src]

If Bson is I32, return its value. Returns None otherwise

pub fn as_i64(&self) -> Option<i64>[src]

If Bson is I64, return its value. Returns None otherwise

pub fn as_object_id(&self) -> Option<&ObjectId>[src]

If Bson is Objectid, return its value. Returns None otherwise

pub fn as_object_id_mut(&mut self) -> Option<&mut ObjectId>[src]

If Bson is Objectid, return a mutable reference to its value. Returns None otherwise

pub fn as_datetime(&self) -> Option<&DateTime<Utc>>[src]

If Bson is DateTime, return its value. Returns None otherwise

pub fn as_datetime_mut(&mut self) -> Option<&mut DateTime<Utc>>[src]

If Bson is DateTime, return a mutable reference to its value. Returns None otherwise

pub fn as_symbol(&self) -> Option<&str>[src]

If Bson is Symbol, return its value. Returns None otherwise

pub fn as_symbol_mut(&mut self) -> Option<&mut str>[src]

If Bson is Symbol, return a mutable reference to its value. Returns None otherwise

pub fn as_timestamp(&self) -> Option<Timestamp>[src]

If Bson is Timestamp, return its value. Returns None otherwise

pub fn as_null(&self) -> Option<()>[src]

If Bson is Null, return its value. Returns None otherwise

pub fn as_db_pointer(&self) -> Option<&DbPointer>[src]

Trait Implementations

impl Clone for Bson[src]

impl Debug for Bson[src]

impl Default for Bson[src]

impl<'de> Deserialize<'de> for Bson[src]

impl Display for Bson[src]

impl<'_, T> From<&'_ [T]> for Bson where
    T: Clone + Into<Bson>, 
[src]

impl<'_, T> From<&'_ T> for Bson where
    T: Clone + Into<Bson>, 
[src]

impl<'_> From<&'_ str> for Bson[src]

impl From<[u8; 12]> for Bson[src]

impl From<Binary> for Bson[src]

impl From<Bson> for Value[src]

This will create the relaxed Extended JSON v2 representation of the provided Bson.

impl From<DateTime<Utc>> for Bson[src]

impl From<DbPointer> for Bson[src]

impl From<Document> for Bson[src]

impl From<JavaScriptCodeWithScope> for Bson[src]

impl From<ObjectId> for Bson[src]

impl From<Regex> for Bson[src]

impl From<String> for Bson[src]

impl From<Timestamp> for Bson[src]

impl<T> From<Vec<T>> for Bson where
    T: Into<Bson>, 
[src]

impl From<bool> for Bson[src]

impl From<f32> for Bson[src]

impl From<f64> for Bson[src]

impl From<i32> for Bson[src]

impl From<i64> for Bson[src]

impl From<u32> for Bson[src]

impl From<u64> for Bson[src]

impl<T: Into<Bson>> FromIterator<T> for Bson[src]

fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self[src]

Examples

use std::iter::FromIterator;
use bson::Bson;

let x: Bson = Bson::from_iter(vec!["lorem", "ipsum", "dolor"]);
// or
let x: Bson = vec!["lorem", "ipsum", "dolor"].into_iter().collect();

impl PartialEq<Bson> for Bson[src]

impl Serialize for Bson[src]

impl StructuralPartialEq for Bson[src]

impl TryFrom<Map<String, Value>> for Bson[src]

This converts from the input JSON object as if it were MongoDB Extended JSON v2.

type Error = Error

The type returned in the event of a conversion error.

impl TryFrom<Value> for Bson[src]

This converts from the input JSON as if it were MongoDB Extended JSON v2.

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

impl RefUnwindSafe for Bson

impl Send for Bson

impl Sync for Bson

impl Unpin for Bson

impl UnwindSafe for Bson

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,