mongodb
Assists with designing document schemas, building aggregation pipelines, managing indexes, and operating MongoDB clusters. Use when working with flexible schemas, nested documents, horizontal scaling, Atlas Search, or vector search for AI applications. Trigger words: mongodb, mongo, document database, aggregation, atlas, nosql.
Usage
Getting Started
- Install the skill using the command above
- Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
- Reference the skill in your prompt
- The AI will use the skill's capabilities automatically
Example Prompts
- "Analyze the sales data in revenue.csv and identify trends"
- "Create a visualization comparing Q1 vs Q2 performance metrics"
Documentation
Overview
MongoDB is a document database that stores JSON-like (BSON) documents with flexible schemas, nested objects, and arrays. It provides a rich query language, aggregation pipelines for data transformation, multiple index types (text, TTL, wildcard, geospatial), ACID transactions, and horizontal scaling via sharding. MongoDB Atlas adds managed cloud hosting with full-text search and vector search.
Instructions
- When designing schemas, embed data that is read together and reference data that is shared across documents, optimizing for read patterns rather than normalization since MongoDB penalizes joins (
$lookup). - When querying, use dot notation for nested fields, array operators (
$in,$elemMatch,$all) for array queries, and projection to return only needed fields. - When transforming data, use aggregation pipelines with stages like
$match,$group,$project,$lookup, and$unwindrather than pulling data to application code for processing. - When creating indexes, add indexes for every production query pattern, use
explain("executionStats")to verify usage, and choose TTL indexes for auto-expiring data like sessions and logs. - When enforcing data integrity, use JSON Schema validation on collections, set
writeConcern: "majority"for critical writes, and use multi-document transactions only when atomicity across documents is required. - When scaling, choose shard keys with high cardinality and even distribution, set up replica sets for high availability, and configure read preferences based on consistency requirements.
Examples
Example 1: Build an e-commerce product catalog
User request: "Design a MongoDB schema for products with variants, reviews, and categories"
Actions:
- Embed variants and pricing as arrays within the product document for single-query reads
- Reference categories as ObjectIds for shared data and embed review summaries
- Create compound indexes for filtering by category, price range, and rating
- Build aggregation pipeline for faceted search with
$facetand$bucket
Output: A product catalog with embedded variants, referenced categories, faceted search, and optimized indexes.
Example 2: Set up full-text search with Atlas Search
User request: "Add search functionality to my app using MongoDB Atlas Search"
Actions:
- Create an Atlas Search index with analyzers for the title, description, and tags fields
- Build a
$searchaggregation stage with fuzzy matching and highlighting - Add autocomplete search with the
autocompletedata type - Implement relevance scoring and boosting for title matches
Output: A search feature with fuzzy matching, autocomplete, relevance ranking, and highlighting.
Guidelines
- Embed when data is read together; reference when data is shared across documents.
- Design schemas for your query patterns, not for normalization.
- Create indexes for every production query pattern and verify with
explain(). - Use TTL indexes for session data, logs, and temporary documents for automatic cleanup.
- Use aggregation pipelines instead of pulling data to application code for transformation.
- Set
writeConcern: "majority"for critical writes to guarantee data survives failover. - Choose shard keys carefully since bad shard keys are nearly impossible to change.
Information
- Version
- 1.0.0
- Author
- terminal-skills
- Category
- Data & AI
- License
- Apache-2.0