βοΈ Rust wrapper for π¦ jsonbox.io.
// Declaration use jsonbox::{Client, Error}; use serde::{Deserialize, Serialize}; // Define struct #[derive(Serialize, Deserialize)] pub struct Data { pub name: String, pub message: String, } fn main() -> Result<(), Error> { // Create client with <BOX_ID> let client = Client::new("enjoy_your_first_jsonbox_rs"); // Insert data let data = Data { name: "kuy".into(), message: "Hello, Jsonbox!".into(), }; let (record, meta) = client.create(&data)?; println!("CREATE: data={:?}, id={} @{}", record, meta.id, meta.created_on); Ok(()) }
See full documentation.
let data = Data { name: "kuy".into(), message: "Hello, Jsonbox!".into(), }; let (record, meta) = client.create(&data)?; println!("CREATE: data={:?}, meta={:?}", record, meta);
Use create_bulk() for bulk creation.
let all = client.read().all::<Data>()?; println!("READ: len={}, all={:?}", all.len(), all);
let (record, meta) = client.read().id("5d876d852a780700177c0557")?; println!("READ: data={:?}, meta={:?}", record, meta);
let few = client.read().limit(10).run::<Data>()?; println!("READ: len={}, few={:?}", few.len(), few);
let rest = client.read().skip(5).run::<Data>()?; println!("READ: len={}, rest={:?}", rest.len(), rest);
let asc = client.read().order_by("name").run::<Data>()?; println!("READ: len={}, asc={:?}", asc.len(), asc); let desc = client.read().order_by("count").desc().run::<Data>()?; println!("READ: len={}, desc={:?}", desc.len(), desc);
let filtered = client .read() .filter_by("name:{}", "Json Box") .run::<Data>()?; println!("READ: len={}, filtered={:?}", filtered.len(), filtered);
See QueryBuilder, baisc example, or official documentation for more about filters.
let data = Data::new("kuy", "Hello, Jsonbox!"); client.update("5d876d852a780700177c0557", &data)?; println!("UPDATE: OK");
client.delete("5d876d852a780700177c0557")?; println!("DELETE: OK");
- jsonbox-todo-example
- hello
cargo run --example hello
- basic
cargo run --example basic
- errors
cargo run --example errors
MIT
Yuki Kodama / @kuy