projects/axiodb

AxioDB

SQLite Alternative for JavaScript — Embedded NoSQL for Node.js for local-first, Electron, CLI and prototyping. Zero native deps, no compilation.

cli-v20.4.1Active DevelopmentMITTypeScript
31
Stars
6
Forks
4
Contributors

// Key Features

Zero native deps** — pure JS, no `node

gyp`, no `electron:rebuild`

MongoDB

style queries** — `{ age: { $gt: 25 } }`, 19 operators + `hint()` + `findByIds()`

ACID transactions** — `savepoint`/`rollbackTo`/`WAL`, crashes recover via `Transaction.recoverTransactions()`

ACID transactions** — `savepoint`/`rollbackTo`/`WAL`, crashes recover via `Transaction.recoverTransactions()`

Aggregation** — 60+ stages, `$lookup` joins, `OperatorRegistry` custom ops

Aggregation** — 60+ stages, `$lookup` joins, `OperatorRegistry` custom ops

InMemoryCache + indexes** — dual

write, auto `IndexCache`

Ports

** GUI `27018` · TCP `27019` `AxioDBCloud` · MCP `27020` Docker:only

// Tech Stack

data-structuresdatabaseembedded-databasehacktoberfestjavascriptnodejsnosqlnpm-packageopen-sourcesqlite-alternativetypescriptworker-threads

// Installation

bash
npm install axiodb
# Node.js ≥20

// Usage Example

javascript
import { AxioDB } from 'axiodb';

// Initialize database
const db = new AxioDB({
  path: './data',
  encryption: true,
  encryptionKey: 'your-secret-key'
});

// Insert documents
await db.collection('users').insert({
  name: 'John Doe',
  email: 'john@example.com',
  age: 30
});

// Query with MongoDB-style syntax
const users = await db.collection('users').find({
  age: { $gte: 18 }
});

Ready to get started?

Check out the full documentation and examples on GitHub

View on GitHub →