SinterDB 0.3.0 developer preview docs are live. Read the docs →

v0.0.7 · Updates, Replacements & Deletes

A document database built for TypeScript.

SinterDB is an open-source document-oriented database with a TypeScript-first Node.js driver, a versioned wire protocol, and a database server being built from the ground up.

Early development · APIs and protocol details may change before 1.0.

example.ts
interface User {
  name: string;
  age: number;
  active: boolean;
}

const db = client.db("app");
const users = db.collection<User>("users");

await users.updateOne(
  { name: "Kage" },
  {
    $set: { active: true },
    $inc: { age: 1 },
  },
);

const result = await users.deleteMany({
  active: false,
});

console.log(result.deletedCount);
+

TypeScript-first

Typed database and collection handles, filters, updates, sorting, and cursor APIs for Node.js.

+

Document-oriented

Store structured documents with deterministic binary encoding and custom identifiers.

+

Typed CRUD APIs

Insert, query, update, replace, and delete documents through a TypeScript-first Node.js API.

+

Open source

Built in public under the Apache 2.0 license with the protocol and roadmap in the open.

Development status

Building the foundation first.

SinterDB is still early. Version 0.0.7 expands the document API with updates, replacements, deletes, upserts, and typed update operators.

CURRENT MILESTONE

0.0.7 · Updates, Replacements & Deletes

in development
✓updateOne and updateMany
✓replaceOne
✓deleteOne and deleteMany
✓$set, $unset, $inc, $min, and $max
✓$push, $pull, and $addToSet
✓Upserts and typed UpdateFilter APIs

Up next

v0.0.8 · Durable storage & recovery

View roadmap →

Get started

Explore SinterDB while it takes shape.

The project is not production-ready yet, but the server, protocol, driver, tests, and development roadmap are all available on GitHub.

Browse the repository →