major-ai-skills
Version:
Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.
101 lines (78 loc) • 3.35 kB
Markdown
name: mongodb
description: "Design MongoDB documents and indexes, build aggregation pipelines, and investigate query plans or transaction behavior."
category: devops
risk: safe
source: self
source_type: self
date_added: "2026-08-26"
tags: ["mongodb", "aggregation", "indexes", "nosql", "atlas", "claude"]
tools: ["claude", "cursor", "gemini", "codex"]
# MongoDB Document Database AI Skill Guide
## Overview & Engine Architecture
MongoDB stores BSON documents in collections. Query shapes drive index design; the aggregation framework transforms streams of documents through stages. Agents model data for the application's access patterns, avoid unbounded arrays, and verify plans with `explain("executionStats")` before shipping hot-path queries.
```
Drivers / ORMs
-> mongod (replica set / sharded cluster)
-> databases -> collections -> documents
-> indexes (B-tree / compound / text / TTL)
-> aggregation pipeline
```
## When to use this skill
- Designing collections and references vs embedding
- Writing find queries and aggregations
- Diagnosing COLLSCAN and slow operations
- Using multi-document transactions carefully
## Operational directives
1. Index for equality filters first, then sort keys, then range - matching real queries.
2. Prefer embedding for data read together; reference for high-churn or unbounded growth.
3. Cap array sizes; use bucket patterns for time series when appropriate.
4. Use transactions only when multi-document ACID is required - they cost throughput.
5. Never expose cluster credentials in client-side apps; use least-privilege DB users.
## Modeling example
```javascript
// orders collection - embed line items when bounded
{
_id: ObjectId("..."),
customerId: ObjectId("..."),
status: "open",
items: [
{ sku: "SKU-1", qty: 2, priceCents: 1500 }
],
createdAt: ISODate("...")
}
db.orders.createIndex({ customerId: 1, createdAt: -1 })
db.orders.createIndex({ status: 1 }, { partialFilterExpression: { status: "open" } })
```
## Aggregation sketch
```javascript
db.orders.aggregate([
{ $match: { createdAt: { $gte: ISODate("2026-01-01") } } },
{ $group: { _id: "$customerId", revenue: { $sum: "$totalCents" } } },
{ $sort: { revenue: -1 } },
{ $limit: 50 }
])
```
## Explain checklist
```javascript
db.orders.find({ customerId: id, status: "open" }).sort({ createdAt: -1 }).explain("executionStats")
```
| Signal | Meaning |
| --- | --- |
| COLLSCAN | Missing or unused index |
| IXSCAN + high docsExamined/nReturned | Weak selectivity / wrong index |
| In-memory sort | Add sort keys to compound index |
## Best practices
- Use schema validation (`$jsonSchema`) for critical collections.
- TTL indexes for ephemeral data (sessions, logs).
- Retryable writes and majority read/write concerns for important paths.
- Monitor working set vs RAM on self-hosted deployments.
## Limitations
- Atlas vs self-managed differs in auth, networking, and backup UX.
- Graph use cases may belong in specialized stores.
- Change streams need replica sets and careful resume token handling.
## Related skills
- `@postgresql` - relational alternative when joins dominate
- `@redis` - caching hot Mongo reads
- `@nodejs` - common driver runtime