Express-friendly and production-ready. Within ~10–15% of raw driver performance.
// Connect (Mongoose-like)
import { connect, Schema, model } from 'arango-typed';
await connect('http://localhost:8529/myapp', {
username: 'root', password: ''
});
// Schema shorthand
const UserSchema = new Schema({
name: String,
email: { type: String, required: true, unique: true }
});
// Model & usage
const User = model('users', UserSchema, { tenantEnabled: true });
const john = await User.create({ name: 'John', email: 'john@example.com' });
const users = await User.find({}).all();
🔒 Type-safe by default
End‑to‑end TypeScript types for schemas, models, queries, and relationships. Catch errors at compile time, not runtime.
🏢 Production multi‑tenancy
Automatic tenant filtering + Express middleware. Zero manual leakage risk. Perfect for SaaS applications.
🕸️ Graph OGM
Native graph database support. Relationships, traversals, path queries — without writing complex AQL.
🤖 AI‑ready
Built-in vector search with magnitude optimizations. Full LangChain integration for RAG applications.
⚡ Performance
Query caching, compiled validators, connection reuse. Within 10–15% of raw driver performance.
🚀 Express‑friendly
Built-in middleware, request context, automatic routes. Mongoose‑like developer experience.
Why arango-typed?
ArangoDB is a powerful multi-model database, but working with it directly requires writing complex AQL queries. arango-typed provides a familiar, Mongoose-like API that makes ArangoDB as easy to use as MongoDB, while unlocking the full power of documents, graphs, and key-value storage in a single database.
Perfect For
🏢 Multi-tenant SaaS Applications
Built-in multi-tenancy with automatic tenant filtering. Perfect for B2B SaaS platforms where data isolation is critical. Zero configuration required — just enable tenantEnabled: true on your models.
🕸️ Graph-based Applications
Social networks, recommendation engines, knowledge graphs. Native OGM support with relationship access, traversals, and path queries. No need to learn complex graph query languages.
Explore OGM Features →🤖 AI/ML Applications
RAG systems, semantic search, vector databases. Built-in vector search with LangChain integration. Store embeddings alongside your documents. Precomputed magnitudes for fast similarity search.
See Vector Search →📊 Full-Stack TypeScript Apps
Express.js, Next.js, NestJS — works everywhere. Type-safe from database to API. Mongoose-like API means your team can be productive immediately.
Get Started →Quick Examples
Multi-tenancy (Automatic)
// Enable multi-tenancy
const User = model('users', UserSchema, { tenantEnabled: true });
// All queries automatically filtered by tenant
const users = await User.find({ active: true }).all();
// Only returns users for current tenant
Vector Search
import { getVectorSearch } from 'arango-typed';
const vs = getVectorSearch();
await vs.store('documents', { text: '...', embedding: [...] });
const results = await vs.similaritySearch(
'documents', queryEmbedding, { topK: 5 }
);
Graph Relationships
const User = graphModel('users', UserSchema);
const user = await User.findById('users/123');
// Get connected users
const friends = await user.getOutbound('friends');
const followers = await user.getInbound('follows');
// Path queries
const path = await User.getPath('users/1', 'users/100');
Partial Text Search
// Automatic partial text search
const users = await User.find({
nameContains: 'john', // Searches name field
emailContains: 'gmail' // Searches email field
}).all();
Ready to build something amazing?
arango-typed makes ArangoDB accessible to every TypeScript developer. Start building your next project with the power of a multi-model database and the simplicity of a familiar API.