pub struct SimpleQueryBuilder {
pub collection: String,
pub filters: Vec<Filter>,
pub order_by: Option<(String, bool)>,
pub limit: Option<usize>,
pub offset: Option<usize>,
}Fields§
§collection: String§filters: Vec<Filter>§order_by: Option<(String, bool)>§limit: Option<usize>§offset: Option<usize>Implementations§
Source§impl SimpleQueryBuilder
impl SimpleQueryBuilder
pub fn new(collection: String) -> Self
pub fn filter(self, filter: Filter) -> Self
Sourcepub fn eq(self, field: &str, value: Value) -> Self
pub fn eq(self, field: &str, value: Value) -> Self
Filter for exact equality
Uses secondary index if the field is indexed (O(1) lookup). Falls back to full collection scan if not indexed (O(n)).
§Arguments
field- The field name to filter onvalue- The exact value to match
§Examples
use aurora_db::{Aurora, types::Value};
let db = Aurora::open(“mydb.db”)?;
// Find active users let active_users = db.query(“users”) .filter(|f| f.eq(“status”, Value::String(“active”.into()))) .collect() .await?;
// Multiple equality filters (AND logic) let premium_active = db.query(“users”) .filter(|f| f.eq(“tier”, Value::String(“premium”.into()))) .filter(|f| f.eq(“active”, Value::Bool(true))) .collect() .await?;
// Numeric equality let age_30 = db.query(“users”) .filter(|f| f.eq(“age”, Value::Int(30))) .collect() .await?;
Sourcepub fn gt(self, field: &str, value: Value) -> Self
pub fn gt(self, field: &str, value: Value) -> Self
Filter for greater than
Finds all documents where the field value is strictly greater than the provided value. With LIMIT, uses early termination for performance.
§Arguments
field- The field name to comparevalue- The minimum value (exclusive)
§Performance
- Without LIMIT: O(n) - scans all documents
- With LIMIT: O(k) where k = limit + offset (early termination)
- No index support yet (planned for future)
§Examples
use aurora_db::{Aurora, types::Value};
let db = Aurora::open(“mydb.db”)?;
// Find high scorers (with early termination) let high_scorers = db.query(“users”) .filter(|f| f.gt(“score”, Value::Int(1000))) .limit(100) // Stops after finding 100 matches .collect() .await?;
// Price range queries let expensive = db.query(“products”) .filter(|f| f.gt(“price”, Value::Float(99.99))) .order_by(“price”, false) // Descending .collect() .await?;
// Date filtering (timestamps as integers) let recent = db.query(“events”) .filter(|f| f.gt(“timestamp”, Value::Int(1609459200))) // After Jan 1, 2021 .collect() .await?;
Sourcepub fn gte(self, field: &str, value: Value) -> Self
pub fn gte(self, field: &str, value: Value) -> Self
Filter for greater than or equal to
Finds all documents where the field value is greater than or equal to
the provided value. Inclusive version of gt().
§Arguments
field- The field name to comparevalue- The minimum value (inclusive)
§Examples
use aurora_db::{Aurora, types::Value};
let db = Aurora::open(“mydb.db”)?;
// Minimum age requirement (inclusive) let adults = db.query(“users”) .filter(|f| f.gte(“age”, Value::Int(18))) .collect() .await?;
// Inventory management let in_stock = db.query(“products”) .filter(|f| f.gte(“stock”, Value::Int(1))) .collect() .await?;
Sourcepub fn lt(self, field: &str, value: Value) -> Self
pub fn lt(self, field: &str, value: Value) -> Self
Filter for less than
Finds all documents where the field value is strictly less than the provided value.
§Arguments
field- The field name to comparevalue- The maximum value (exclusive)
§Examples
use aurora_db::{Aurora, types::Value};
let db = Aurora::open(“mydb.db”)?;
// Low balance accounts let low_balance = db.query(“accounts”) .filter(|f| f.lt(“balance”, Value::Float(10.0))) .collect() .await?;
// Budget products let budget = db.query(“products”) .filter(|f| f.lt(“price”, Value::Float(50.0))) .order_by(“price”, true) // Ascending .collect() .await?;
Sourcepub fn lte(self, field: &str, value: Value) -> Self
pub fn lte(self, field: &str, value: Value) -> Self
Filter for less than or equal to
Finds all documents where the field value is less than or equal to
the provided value. Inclusive version of lt().
§Arguments
field- The field name to comparevalue- The maximum value (inclusive)
§Examples
use aurora_db::{Aurora, types::Value};
let db = Aurora::open(“mydb.db”)?;
// Senior discount eligibility let seniors = db.query(“users”) .filter(|f| f.lte(“age”, Value::Int(65))) .collect() .await?;
// Clearance items let clearance = db.query(“products”) .filter(|f| f.lte(“price”, Value::Float(20.0))) .collect() .await?;
Sourcepub fn contains(self, field: &str, value: &str) -> Self
pub fn contains(self, field: &str, value: &str) -> Self
Filter for substring containment
Finds all documents where the field value contains the specified substring.
Case-sensitive matching. For text search, consider using the search() API instead.
§Arguments
field- The field name to search in (must be a string field)value- The substring to search for
§Performance
- Always O(n) - scans all documents
- Case-sensitive string matching
- For full-text search, use
db.search()instead
§Examples
use aurora_db::Aurora;
let db = Aurora::open("mydb.db")?;
// Find articles about Rust
let rust_articles = db.query("articles")
.filter(|f| f.contains("title", "Rust"))
.collect()
.await?;
// Email domain filtering
let gmail_users = db.query("users")
.filter(|f| f.contains("email", "@gmail.com"))
.collect()
.await?;
// Tag searching
let rust_posts = db.query("posts")
.filter(|f| f.contains("tags", "rust"))
.collect()
.await?;§Note
For case-insensitive search or more advanced text matching,
use the full-text search API: db.search(collection).query(text)
Sourcepub fn between(self, field: &str, min: Value, max: Value) -> Self
pub fn between(self, field: &str, min: Value, max: Value) -> Self
Convenience method for range queries
Trait Implementations§
Source§impl Clone for SimpleQueryBuilder
impl Clone for SimpleQueryBuilder
Source§fn clone(&self) -> SimpleQueryBuilder
fn clone(&self) -> SimpleQueryBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SimpleQueryBuilder
impl Debug for SimpleQueryBuilder
Source§impl<'de> Deserialize<'de> for SimpleQueryBuilder
impl<'de> Deserialize<'de> for SimpleQueryBuilder
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for SimpleQueryBuilder
impl PartialEq for SimpleQueryBuilder
Source§impl Serialize for SimpleQueryBuilder
impl Serialize for SimpleQueryBuilder
impl Eq for SimpleQueryBuilder
impl StructuralPartialEq for SimpleQueryBuilder
Auto Trait Implementations§
impl Freeze for SimpleQueryBuilder
impl RefUnwindSafe for SimpleQueryBuilder
impl Send for SimpleQueryBuilder
impl Sync for SimpleQueryBuilder
impl Unpin for SimpleQueryBuilder
impl UnwindSafe for SimpleQueryBuilder
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more