Skip to content

A lightweight, persistent, NoSQL database written in Rust.

Notifications You must be signed in to change notification settings

billykirk01/AlroeDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AlroeDB 🌿

A lightweight, persistent, NoSQL database written in Rust.

Inspired by the Deno project AloeDB. Many thanks to @Kirlovon for the inspiration!

Features ✨

  • 🎉 Simple to use API, similar to MongoDB!
  • 📁 Stores data in readable JSON file.
  • 🚀 Optimized for a large number of operations.

Example Usage

let mut db = Database::new(DatabaseConfig {
    path: "db.json".to_string(),
});

let success = db.insert_one(json!({
    "name": "Billy",
    "age": 27,
}));

match success {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully added document"),
}

let success = db.insert_many(json!([{
    "name": "Tanner",
    "age": 26,
},{
    "name": "Carisa",
    "age": 26,
}]));

match success {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully added documents"),
}

let query = json!({
    "name": "Billy",
});

match db.find_one(query) {
    None => println!("No results"),
    Some(result) => println!("Results: {}", result),
}

let query = json!({
    "age": 27,
});

match db.find_many(query) {
    None => println!("No results"),
    Some(results) => println!("Results: {:?}", results),
}

let query = json!({
    "name": "Tanner",
});

let updates = json!({
    "age": 27
});

match db.update_one(query, updates) {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully updated document"),
}

let query = json!({
    "age": 27,
});

let updates = json!({
    "age": 28
});

match db.update_many(query, updates) {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully updated documents"),
}

let query = json!({
    "age": 28,
});

match db.delete_many(query) {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully deleted documents"),
}

let query = json!({
    "name": "Carisa",
});

match db.delete_one(query) {
    Err(e) => println!("{}", e),
    Ok(()) => println!("Successfully deleted document"),
}

About

A lightweight, persistent, NoSQL database written in Rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages