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) -> Self
pub fn eq<K, V>(key: K, value: V) -> Self
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) -> Self
pub fn ne<K, V>(key: K, value: V) -> Self
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>) -> Self
pub fn and(queries: Vec<Query>) -> Self
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>) -> Self
pub fn or(queries: Vec<Query>) -> Self
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) -> Self
pub fn like<K, V>(key: K, value: V) -> Self
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) -> Self
pub fn lt<K, V>(key: K, value: V) -> Self
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) -> Self
pub fn lte<K, V>(key: K, value: V) -> Self
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) -> Self
pub fn gt<K, V>(key: K, value: V) -> Self
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) -> Self
pub fn gte<K, V>(key: K, value: V) -> Self
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() -> Self
pub fn all() -> Self
Create a new query that matches all documents.
use deeb::*;
let query = Query::all();Sourcepub fn associated(entity: Entity, query: Query) -> Self
pub fn associated(entity: Entity, query: Query) -> Self
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