@morphql /存储
的轻量级数据存储 MorphQL 使用熟悉的类似sql的查询接口。 SELECT, INSERT, UPDATE, DELETE 语句被翻译成MorphQL,并在可插拔的存储适配器上执行。
关键特性
- 🗂️ sql API:查询和修改数据
SELECT,INSERT,UPDATE,DELETE. - 🔌 可插入适配器:用于测试和运行时数据的内存适配器,用于json磁盘持久性的文件夹适配器。
- 🚀 由MorphQL支持语句被翻译为MorphQL并编译为本机JS以快速执行。
- 🔢 自动增量:内置
auto()/$auto数字主键的占位符。 - 🌐 同构的核心内存适配器在Node.js和浏览器中同时运行;文件夹适配器是Node-only。
安装
npm install @morphql/store
使用
内存中的存储
import { Store, MemoryAdapter } from '@morphql/store';
const store = new Store(new MemoryAdapter());
await store.query(`INSERT INTO users (id, name, age) VALUES (auto(), 'Alice', 30)`);
await store.query(`INSERT INTO users (id, name, age) VALUES (auto(), 'Bob', 17)`);
const adults = await store.query(`SELECT name FROM users WHERE age >= 18`);
// → [{ name: 'Alice' }]
持久文件夹存储(Node.js)
import { Store } from '@morphql/store';
import { FolderAdapter } from '@morphql/store/node';
const store = new Store(new FolderAdapter('./data', { pretty: true }));
await store.query(`UPDATE users SET status = 'active' WHERE age >= 18`);
每个表都以JSON文件的形式保存在目录中(例如: ./data/users.json)。
了解更多
许可证
麻省理工学院