[][src]Enum bson::Bson

pub enum Bson {
    FloatingPoint(f64),
    String(String),
    Array(Array),
    Document(Document),
    Boolean(bool),
    Null,
    RegExp(StringString),
    JavaScriptCode(String),
    JavaScriptCodeWithScope(StringDocument),
    I32(i32),
    I64(i64),
    TimeStamp(i64),
    Binary(BinarySubtypeVec<u8>),
    ObjectId(ObjectId),
    UtcDatetime(DateTime<Utc>),
    Symbol(String),
}

Possible BSON value types.

Variants

FloatingPoint(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

RegExp(StringString)

Regular expression - The first cstring is the regex pattern, the second is the regex options string. Options are identified by characters, which must be stored in alphabetical order. Valid options are 'i' for case insensitive matching, 'm' for multiline matching, 'x' for verbose mode, 'l' to make \w, \W, etc. locale dependent, 's' for dotall mode ('.' matches everything), and 'u' to make \w, \W, etc. match unicode.

JavaScriptCode(String)

JavaScript code

JavaScriptCodeWithScope(StringDocument)

JavaScript code w/ scope

I32(i32)

32-bit integer

I64(i64)

64-bit integer

TimeStamp(i64)

Timestamp

Binary(BinarySubtypeVec<u8>)

Binary data

ObjectId(ObjectId)

ObjectId

UtcDatetime(DateTime<Utc>)

UTC datetime

Symbol(String)

Symbol (Deprecated)

Methods

impl Bson[src]

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

Get the ElementType of this value.

pub fn to_json(&self) -> Value[src]

Deprecated since 0.5.1:

use bson.clone().into() instead

Clones the bson and returns the representative serde_json Value. The json will be in extended JSON format.

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

Deprecated since 0.5.1:

use bson.into() instead

Consumes the bson and returns the representative serde_json Value. The json will be in extended JSON format.

pub fn from_json(val: Value) -> Bson[src]

Deprecated since 0.5.1:

use json.into() instead

Consumes the serde_json Value and returns the representative bson. The json should be in extended JSON format.

impl Bson[src]

Value helpers

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

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

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

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

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

If Bson is Array, return 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_bool(&self) -> Option<bool>[src]

If Bson is Boolean, 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_utc_date_time(&self) -> Option<&DateTime<Utc>>[src]

If Bson is UtcDateTime, return 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_timestamp(&self) -> Option<i64>[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

Trait Implementations

impl PartialEq<Bson> for Bson[src]

impl Default for Bson[src]

impl Clone for Bson[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl From<f32> for Bson[src]

impl From<f64> for Bson[src]

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

impl From<String> for Bson[src]

impl<'a> From<&'a String> for Bson[src]

impl From<Vec<Bson>> for Bson[src]

impl From<OrderedDocument> for Bson[src]

impl From<bool> for Bson[src]

impl From<(String, String)> for Bson[src]

impl From<(String, OrderedDocument)> for Bson[src]

impl From<(BinarySubtype, Vec<u8>)> 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 From<[u8; 12]> for Bson[src]

impl From<ObjectId> for Bson[src]

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

impl From<Value> for Bson[src]

impl From<Bson> for Value[src]

impl Debug for Bson[src]

impl Display for Bson[src]

impl Serialize for Bson[src]

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

Auto Trait Implementations

impl Send for Bson

impl Sync for Bson

Blanket Implementations

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

impl<T> From for T[src]

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

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

type Owned = T

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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