Trait mongod::Filter[][src]

pub trait Filter {
    fn new() -> Self;
fn into_document(self) -> Result<Document, Error>; }

Used to mark a type as a filter for use in queries.

Examples

Creating a filter for user.

use std::convert::TryFrom;

use mongod::bson::Document;
use mongod::{Filter, Comparator, Error};
use mongod::ext::bson::Bson;

#[derive(Default)]
pub struct UserFilter {
    name: Option<Comparator<String>>,
}

impl Filter for UserFilter {
    fn new() -> Self {
        Self::default()
    }

    fn into_document(self) -> Result<Document, Error> {
        let mut doc = Document::new();
        if let Some(value) = self.name {
            doc.insert("name", Bson::try_from(value)?.0);
        }
        Ok(doc)
    }
}

Required methods

fn new() -> Self[src]

Constructs a new Filter.

fn into_document(self) -> Result<Document, Error>[src]

Converts a Filter into a BSON Document.

Loading content...

Implementors

Loading content...