NotDatabase
Docs
NotDatabase is built on one simple idea:
Store JSON documents under collections, with optional schema enforcement — and wrap it all with a fully type-safe SDK.
Here's what actually happens under the hood:
In your SDK config:
import { createClient } from "notdb";
const db = createClient({
apiKey: "your_api_key",
schema: {
users: {
properties: {
name: { type: "string", required: true },
email: { type: "string", required: true, unique: true },
age: { type: "number" },
isAdmin: { type: "boolean", default: false },
},
},
},
});
Insert a document into your collection:
await db.users.insert({
name: "Richard Hendricks",
email: "richard@piedpiper.com",
age: 28,
});
The SDK:
The API:
const admins = await db.users.findMany({
filter: { isAdmin: true },
sort: "-createdAt",
limit: 10,
});
No SQL needed. No learning curve. You just use JavaScript/TypeScript.
await db.users.update("abc123", { age: 29 });
await db.users.delete("abc123");
const count = await db.users.count();
Data is saved in a key-value store, but the schema you define gives it shape and guarantees — both on the client and the server.
No migrations. No extra tooling. No ORM acrobatics.