pub enum Query {
Eq(Key, Value),
Ne(Key, Value),
Like(Key, String),
Lt(Key, Value),
Lte(Key, Value),
Gt(Key, Value),
Gte(Key, Value),
And(Vec<Query>),
Or(Vec<Query>),
Associated(Entity, Box<Query>),
All,
}Variants§
Eq(Key, Value)
Ne(Key, Value)
Like(Key, String)
Lt(Key, Value)
Lte(Key, Value)
Gt(Key, Value)
Gte(Key, Value)
And(Vec<Query>)
Or(Vec<Query>)
Associated(Entity, Box<Query>)
All
Implementations§
Source§impl Query
impl Query
Sourcepub fn eq<K, V>(key: K, value: V) -> Query
pub fn eq<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on exact match.
use deeb::*;
let query = Query::eq("name", "John");Sourcepub fn ne<K, V>(key: K, value: V) -> Query
pub fn ne<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on not equal match.
use deeb::*;
let query = Query::ne("name", "John");Sourcepub fn and(queries: Vec<Query>) -> Query
pub fn and(queries: Vec<Query>) -> Query
Create a new query that matches documents based on multiple conditions.
use deeb::*;
let query = Query::and(vec![
Query::eq("name", "John"),
Query::eq("age", 30),
Query::eq("city", "New York"),
]);Sourcepub fn or(queries: Vec<Query>) -> Query
pub fn or(queries: Vec<Query>) -> Query
Create a new query that matches documents based on multiple conditions.
use deeb::*;
let query = Query::or(vec![
Query::eq("name", "John"),
Query::eq("age", 30),
Query::eq("city", "New York"),
]);Sourcepub fn like<K, V>(key: K, value: V) -> Query
pub fn like<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on like match.
use deeb::*;
let query = Query::like("name", "John");Sourcepub fn lt<K, V>(key: K, value: V) -> Query
pub fn lt<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on less than match.
use deeb::*;
let query = Query::lt("age", 30);Sourcepub fn lte<K, V>(key: K, value: V) -> Query
pub fn lte<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on less than or equal match.
use deeb::*;
let query = Query::lte("age", 30);Sourcepub fn gt<K, V>(key: K, value: V) -> Query
pub fn gt<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on greater than match.
use deeb::*;
let query = Query::gt("age", 30);Sourcepub fn gte<K, V>(key: K, value: V) -> Query
pub fn gte<K, V>(key: K, value: V) -> Query
Create a new query that matches documents based on greater than or equal match.
use deeb::*;
let query = Query::gte("age", 30);Sourcepub fn all() -> Query
pub fn all() -> Query
Create a new query that matches all documents.
use deeb::*;
let query = Query::all();Sourcepub fn associated(entity: Entity, query: Query) -> Query
pub fn associated(entity: Entity, query: Query) -> Query
Create a new query that matches documents based on associated entity.
use deeb::*;
let user = Entity::new("user");
let comment = Entity::new("comment");
let query = Query::associated(comment, Query::eq("user_id", 1));pub fn associated_entities(&self) -> Vec<Entity>
Trait Implementations§
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more