0watcher / desert

simple mongodb-like API wrapper for rusqlite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🏜️ desert

Version Status Status

A simple wrapper for rusqlite with mongodb-like API. It's not complete because doesn't support all possible features available in sqlite. I made this before i realized that Diesel crate exists. It's not finished and no longer maintained.

Installation

cargo add desert serde_derive

Example

use desert::{Sql, Db};
use serde_derive::{Serialize, Deserialize};

#[derive(Serialize, Deserialize, Debug)]
struct Person {
    id: u32,
    name: String,
    email: String,
    favourite_animal: String
}

fn main() {
    let tb = Db::mem().table::<Person>("persons");

    tb.insert_one(Person{
        id: 1,
        name: "somename",
        email: "somemail@mail.com",
        favourite_animal: "dog"
    });

    let result = tb.select(SQL::Distinct + SQL::Where("favourite_animal = dog"));

    println!("{:?}", result.unwrap()[0]);
}

About

simple mongodb-like API wrapper for rusqlite

License:MIT License


Languages

Language:Rust 100.0%