1 个不稳定版本
0.1.0 | 2024 年 1 月 11 日 |
---|
#1142 在 数据库接口
7KB
72 行
Jsn Base (JSON Base)
Jsn Base
是一个数据库,类似于 sqlite
。它支持读写。
用法
将此 crate 添加到您的 Cargo.toml
文件中
[dependencies]
jsn_base = "0.1.0"
use jsn_base::{Connection, Model};
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct User {
id: usize,
name: String,
email: String,
}
fn main() {
let connection = Connection::new("my-app").unwrap();
let mut model = Model::<User>::new("user", &connection);
// load all previous datas
model.load();
// create a new data
model.create(User {
id: 0,
name: String::from("Mahi"),
email: String::from("email"),
});
// save current state of model
model.save();
// remove all
model.removes(|_| true);
// get specifice
model.get(|user| user.id == 1);
// get specifice users
model.gets(|user| user.name.eq("Mahi"));
// remove specifice
model.remove(|user| user.name.eq("Mahi"));
// remove some users
model.removes(|user| user.name.eq("Me"));
}
功能
-
Modal.load()
:加载数据的先前状态。 -
Modal.create(payload)
:创建一个新的记录。 -
Modal.create(payloads)
:创建多个新的记录。 -
Modal.save()
:保存数据的当前状态。 -
Modal.get(fn)
:获取单个项。 -
Modal.gets(fn)
:获取多个项。 -
Modal.remove(fn)
:删除单个项。 -
Modal.removes(fn)
:删除多个项。
贡献
欢迎贡献!我希望你在这个项目中做出贡献。
路线图
该项目处于早期阶段,许多功能需要实现。请查看 问题 部分以获取功能、增强和错误修复的列表。
许可证
本项目采用 MIT 许可证 - 请参阅 LICENSE 文件以获取详细信息。
依赖关系
~0.6–1.4MB
~31K SLoC