
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Type-safe, developer-friendly MongoDB aggregation pipeline builder for TypeScript, with auto-relation support and full IntelliSense. Works great with NestJS, Mongoose, or Node.js apps.
A type-safe, intuitive, and developer-friendly MongoDB Aggregation Pipeline Builder for TypeScript.
Designed to work seamlessly with frameworks like NestJS, Express, or any Node.js app.
$lookup
options suggested via IntelliSenseNestJS
& Mongoose
any
used internally — 100% strict TypeScriptnpm install mongozen
Or if using yarn:
yarn add mongozen
Or if using pnpm:
pnpm add mongozen
🧩 Usage
interface User {
id: number;
name: string;
}
interface Post {
id: number;
title: string;
userId: number;
}
import { AggregationBuilder, AutoRelations } from 'mongozen';
type Models = { post: Post; user: User };
const relations: AutoRelations<Models> = {
post: ['user'],
user: [],
};
const builder = new AggregationBuilder<Models, 'post', typeof relations>(relations);
const pipeline = builder
.match({ title: { $exists: true } })
.lookup({
from: 'user',
localField: 'userId',
foreignField: 'id',
as: 'userInfo',
})
.project({ title: 1, userInfo: 1 })
.sort({ title: 1 })
.build();
Now you can use this pipeline in Mongoose, MongoClient, or any MongoDB driver:
await PostModel.aggregate(pipeline).exec();
🛠 Supported Stages
More advanced stages like $graphLookup, $setWindowFields coming soon.
You don’t need to manually write relationships. Use AutoRelations:
const relations: AutoRelations<Models> = {
post: ['user'],
user: [],
};
It automatically checks for userId, postId etc. and maps them to available models.
We welcome all contributions, big or small!
git clone https://github.com/webcoderspeed/mongozen.git
cd mongozen
npm install
npm run dev
This project was born out of frustration from untyped, verbose, and unsafe aggregation queries. We wanted an elegant and IntelliSense-powered DSL to write complex queries faster — hence, mongozen.
Made with 💚 by @webcoderspeed
MIT License © 2025
FAQs
Type-safe, developer-friendly MongoDB aggregation pipeline builder for TypeScript, with auto-relation support and full IntelliSense. Works great with NestJS, Mongoose, or Node.js apps.
We found that mongozen-1 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.