Skip to content
Back to skills

Mongodb

ASecurity

Работа с MongoDB — моделирование документов (embed vs reference), паттерны схем, индексы (составные/multikey/text/TTL/wildcard), aggregation pipeline, транзакции, replica set и sharding, антипаттерны. Use при работе с MongoDB/документной БД, проектировании коллекций или оптимизации запросов и агрегаций.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 11, 2026
databasesgosql

Works with

  • mcp

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add Vitammiin/agent-vorcl-flow --skill mongodb --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mongodb?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mongodb
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vitammiin-mongodb-agent-vorcl-flow/badge)](https://www.skillsdirectory.com/skills/vitammiin-mongodb-agent-vorcl-flow)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mongodb
description: Работа с MongoDB — моделирование документов (embed vs reference), паттерны схем, индексы (составные/multikey/text/TTL/wildcard), aggregation pipeline, транзакции, replica set и sharding, антипаттерны. Use при работе с MongoDB/документной БД, проектировании коллекций или оптимизации запросов и агрегаций.
version: 1.0.0
---

# Навык: MongoDB

Документная БД для гибкой схемы, иерархических данных и высокой скорости итераций. Схема есть — просто она в коде.

## Когда уместна (vs PostgreSQL)
- Хорошо: агрегаты, читаемые целиком (профиль, заказ с позициями), гибкие/эволюционирующие поля, высокая нагрузка на запись, гео/каталоги.
- Плохо: сильносвязанные данные с множеством JOIN, жёсткие транзакции между многими сущностями, отчётность произвольными срезами — там реляционка.

## Моделирование: embed vs reference
- **Embed** (вкладывай), если данные читаются вместе, отношение «содержит», размер ограничен. Правило: *data that is accessed together should be stored together*.
- **Reference** (ссылайся), если данные растут без границы, переиспользуются, или обновляются независимо. Связка через `_id` + `$lookup` при необходимости.
- Дизайн идёт **от запросов** (query-driven), а не от нормализации.

## Паттерны схем
- **Bucket** — группировать time-series/события в документы-корзины. **Computed** — хранить предподсчитанные агрегаты. **Subset** — во вложении держать только горячую часть, остальное в отдельной коллекции. **Extended Reference** — дублировать часто читаемые поля из связанной сущности. **Outlier** — спец-обработка редких «толстых» документов.

## Индексы
- **Составной** (порядок по правилу ESR: Equality → Sort → Range). **Multikey** — по массивам. **Text** — поиск по тексту. **TTL** — авто-удаление по времени. **Wildcard** — под непредсказуемые поля. **Partial**/**unique**.
- Проверяй планы через `explain("executionStats")`: цель — `IXSCAN`, а не `COLLSCAN`; следи за `totalDocsExamined` ≈ `nReturned`.

## Aggregation pipeline
- Этапы: `$match` (раньше всех, чтобы задействовать индекс) → `$project` → `$group` → `$sort` → `$lookup` → `$facet`.
- `$match`/`$sort` до `$group`; тяжёлые `$lookup` — точечно; следи за лимитом памяти этапа (`allowDiskUse` при необходимости).

## Транзакции и консистентность
- Многодокументные ACID-транзакции есть (replica set/sharded), но дороги — предпочитай атомарность одного документа (обновляй агрегат целиком).
- **Write concern** (`w:"majority"`) и **read concern** — под требования долговечности/консистентности.

## Масштаб
- **Replica set** — отказоустойчивость и чтение с реплик. **Sharding** — горизонтальный масштаб; ключ шардирования выбирай под равномерность и запросы (плохой ключ = горячие чанки, его не сменить дёшево).

## Антипаттерны
- Безграничные растущие массивы в документе (лимит 16MB); «реляционка на Mongo» (много коллекций + ручные JOIN); massive documents; отсутствие индексов под фактические запросы; шардинг-ключ по монотонному полю.

## Через MCP
MCP-сервер `mongodb` (`mongodb-mcp-server`) — инспекция коллекций/индексов, запросы и агрегации, `explain`. Для аудита используй режим `--readOnly`. Любые записи/дроп-операции — только с подтверждением человека.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.