Expand description
A simple JSON file store written in Rust. This is a port of the Node.js library json-file-store.
WARNING: Don’t use it if you want to persist a large amount of objects. Use a real DB instead.
Example
use serde::{Serialize,Deserialize};
use jfs::Store;
#[derive(Serialize,Deserialize)]
struct Foo {
foo: String
}
let db = Store::new("data").unwrap();
let f = Foo { foo: "bar".to_owned() };
let id = db.save(&f).unwrap();
let obj = db.get::<Foo>(&id).unwrap();
db.delete(&id).unwrap();
You can also store all data in one single JSON-File:
let mut cfg = jfs::Config::default();
cfg.single = true; // false is default
let db = jfs::Store::new_with_cfg("data",cfg);
If you like to pretty print the file content, set pretty
to true
and choose a number of whitespaces for the indention:
let mut cfg = jfs::Config::default();
cfg.pretty = true; // false is default
cfg.indent = 4; // 2 is default
Creating a store instance that is living in the memory can be done like this:
let db = jfs::Store::new(jfs::IN_MEMORY).unwrap();