Expand description
A helper type to create a typed dictionary of sorted fields.
This type is used to sort documents fetched from the mongodb, it takes Field
, Order
pairs.
Example
Sorting a user collection by name.
use mongod::bson::Document;
use mongod::{AsField, Field, Order, Query, Sort};
use serde::{Deserialize, Serialize};
#[derive(Bson, Mongo, Deserialize, Serialize)]
#[mongo(collection="users", filter, update)]
pub struct User {
pub name: String,
}
impl AsField<UserField> for User {}
pub enum UserField {
Name,
}
impl Field for UserField {}
impl From<UserField> for String {
fn from(field: UserField) -> String {
match field {
UserField::Name => "name".to_owned(),
}
}
}
let client = mongod::Client::default();
let mut sort = Sort::new();
sort.push(UserField::Name, Order::Asc);
let _cursor = Query::find::<User>()
.sort(sort)
.query(&client)
.await
.unwrap();
Implementations
Trait Implementations
Auto Trait Implementations
impl<T> RefUnwindSafe for Sort<T>where
T: RefUnwindSafe,
impl<T> Send for Sort<T>where
T: Send,
impl<T> Sync for Sort<T>where
T: Sync,
impl<T> Unpin for Sort<T>where
T: Unpin,
impl<T> UnwindSafe for Sort<T>where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more