pub trait Filter {
fn new() -> Self;
fn into_document(self) -> Result<Document, Error>;
}
Expand description
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 into_document(self) -> Result<Document, Error>
fn into_document(self) -> Result<Document, Error>
Converts a Filter
into a BSON Document
.