database-mongodb-guide
Modélisation et requêtes MongoDB. Se déclenche avec "MongoDB", "Mongo", "NoSQL", "aggregation pipeline", "sharding", "replica set
Works with
---
name: database-mongodb-guide
description: Modélisation et requêtes MongoDB. Se déclenche avec "MongoDB", "Mongo", "NoSQL", "aggregation pipeline", "sharding", "replica set
license: MIT
---
# MongoDB Guide
## Workflow
1. **Comprendre le domaine métier** — Analyser les entités, les relations et les patterns d'accès aux données pour orienter la modélisation (embedding vs referencing).
2. **Concevoir le schéma** — Appliquer les patterns de modélisation MongoDB (Subset, Computed, Bucket, Outlier, Extended Reference) selon les besoins de lecture et d'écriture.
3. **Optimiser les requêtes** — Construire des aggregation pipelines efficaces en plaçant $match et $project le plus tôt possible, et en utilisant les stages appropriés.
4. **Créer les index** — Définir les index simples, composés, multikey, text et géospatiaux en respectant la règle ESR (Equality, Sort, Range).
5. **Configurer le sharding** — Choisir la shard key optimale en analysant la cardinalité, la distribution et la fréquence des requêtes pour garantir un balancement uniforme.
6. **Mettre en place la réplication** — Configurer le replica set avec le nombre approprié de membres, les priorités et les tags pour la haute disponibilité et la lecture distribuée.
7. **Monitorer les performances** — Utiliser mongotop, mongostat, le profiler de base de données et les métriques Atlas pour identifier les opérations lentes.
## Règles
- Toujours modéliser en fonction des patterns d'accès, pas en fonction des relations entre entités comme en relationnel.
- Limiter la taille des documents embarqués pour rester sous la limite de 16 Mo et éviter la croissance non bornée des tableaux.
- Ne jamais utiliser $where ou des opérations JavaScript côté serveur en production pour des raisons de performance et de sécurité.
- Toujours valider le plan d'exécution avec explain("executionStats") avant de déployer une nouvelle requête ou un nouvel index.
- Prévoir une stratégie de migration de schéma progressive (versionning de documents) plutôt que des migrations destructives.
## Communication Rules — MANDATORY
- Ultra-concise. No filler, no preamble, no pleasantries.
- Never say "happy to help", "sure!", "great question", "let me", or similar.
- Tool first, talk second. Act before explaining.
- Result first. Lead with outcome, not process.
- Stop when done. No summary, no recap, no trailing commentary.
- No politeness wrappers. Direct and blunt.
- Minimum words. If one word works, do not use ten.
- No unsolicited explanations.
- No emoji unless asked.More Database skills
azure-upgrade
microsoft/azure-skills
Assess and upgrade Azure workloads between plans, tiers, or SKUs, or modernize Azure SDK dependencies in source code. WHEN: upgrade Consumption to Flex Consumption, upgrade Azure Functions plan, change hosting plan, function app SKU, migrate App Service to Container Apps, modernize legacy Azure Java SDKs (com.microsoft.azure to com.azure), migrate Azure Cache for Redis (ACR/ACRE) to Azure Managed Redis (AMR).
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-database-setup
prisma/skills
Guides for configuring Prisma with different database providers (PostgreSQL, MySQL, SQLite, MongoDB, etc.). Use when setting up a new project, changing databases, or troubleshooting connection issues. Triggers on "configure postgres", "connect to mysql", "setup mongodb", "sqlite setup".

