pub enum Mode {
Find,
TwoPhase,
Aggregate,
}Expand description
读路径形态:决定 Host 如何执行命令序列
Variants§
Implementations§
Source§impl Mode
impl Mode
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
Examples found in repository?
examples/quickstart.rs (line 39)
14fn main() -> Result<(), String> {
15 // 1. A model is plain JSON — defined once, usable against every backend.
16 let mut registry = Registry::new();
17 registry.register(&json!({
18 "name": "Post",
19 "collection": "posts",
20 "timestamps": true,
21 "fields": {
22 "title": { "type": "string" },
23 "status": { "type": "string", "default": "draft" },
24 "views": { "type": "int" }
25 },
26 "relations": {}
27 }))?;
28
29 // 2. GQL in, MongoDB command JSON out. Values are referenced by `@key`.
30 let gql = "Post($condition:@c0,$sort:@s1,$limit:@l0){title, status, views}";
31 let mut params = Map::new();
32 params.insert("c0".to_string(), json!({ "status": "published" }));
33 params.insert("s1".to_string(), json!({ "views": -1 }));
34 params.insert("l0".to_string(), json!(20));
35
36 let plan = plan_query(gql, ¶ms, ®istry, None)?;
37
38 println!("collection = {}", plan.collection);
39 println!("mode = {}", plan.mode.as_str());
40
41 for cmd in &plan.commands {
42 println!("command = {}", serde_json::to_string(cmd).unwrap());
43
44 // 3. The host runs `cmd` against MongoDB — or, for a SQL backend, asks the
45 // core for parameterized SQL and binds it with its own driver.
46 let sql = translate(Backend::Postgres, cmd, ®istry)?;
47 println!("sql = {}", serde_json::to_string(&sql).unwrap());
48 }
49
50 Ok(())
51}Trait Implementations§
impl Copy for Mode
impl StructuralPartialEq for Mode
Auto Trait Implementations§
impl Freeze for Mode
impl RefUnwindSafe for Mode
impl Send for Mode
impl Sync for Mode
impl Unpin for Mode
impl UnsafeUnpin for Mode
impl UnwindSafe for Mode
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