← 返回
未分类

MongoDB数据库设计

帮助Agent为项目进行MongoDB文档模型设计、索引设计、聚合管道设计,并提供场景化使用指南。当用户需要设计MongoDB Schema、选择嵌入vs引用、设计聚合查询时触发。
帮助Agent为项目进行MongoDB文档模型设计、索引设计、聚合管道设计,并提供场景化使用指南。当用户需要设计MongoDB Schema、选择嵌入vs引用、设计聚合查询时触发。
Adodo
未分类 community v1.0.2 3 版本 100000 Key: 无需
★ 0
Stars
📥 28
下载
💾 0
安装
3
版本
#latest

概述

MongoDB 设计与使用助手

触发条件

当用户出现以下意图时激活本 Skill:

  • 设计 MongoDB 文档模型 / Schema
  • 嵌入 vs 引用的决策
  • MongoDB 索引设计
  • 聚合管道设计
  • 分片方案

设计流程(Agent 执行路径)

0. 版本检查 → 加载 references/version-major.md 对比用户版本,识别废弃项和重大变更。同时加载所有 version-X.Y.md(X.Y ≤ 用户目标版本),后续设计过程中 Agent 从已加载的上下文中自主匹配深度特性
1. 需求分析 → 理解数据实体、访问模式、增长预期
2. 文档模型设计 → 嵌入vs引用决策(加载 references/design-spec.md)
3. 索引设计 → ESR规则 + 查询模式匹配
4. 使用指引 → 加载 references/usage-guide.md,给出场景化操作
5. 生产建议 → 加载 references/best-practices.md,给出分片/一致性/性能建议
6. 模板参考 → 加载 references/patterns.md,匹配业务文档模型模板

快速参考

嵌入 vs 引用决策

条件选择
------------
数据总是一起查询✅ 嵌入
数据不会无限增长(<1000元素)✅ 嵌入
一对少关系✅ 嵌入
需要单文档原子操作✅ 嵌入
数据量大或无限增长✅ 引用
数据需要独立访问✅ 引用
多对多关系✅ 引用
数据被多个文档共享✅ 引用
避免接近16MB文档限制✅ 引用

ESR 索引规则

Equality → Sort → Range

// 查询
db.orders.find({ status: "paid" })          // Equality
  .sort({ created_at: -1 })                 // Sort
  .where("total").gt(100)                   // Range

// 索引(ESR顺序)
db.orders.createIndex({ status: 1, created_at: -1, total: 1 })

索引核心原则

  1. 一个查询一个复合索引(优于多个单字段索引)
  2. $match 在前可利用索引,$unwind 后不能
  3. 覆盖查询:投影只包含索引字段
  4. TTL 索引用于自动过期
  5. 一个集合只能有一个文本索引

文档大小约束

限制
------------
单文档最大16MB
数组建议< 1000 元素
嵌套深度< 100 层

11种官方 Schema 设计模式

模式一句话适用场景
-----------------------
Attribute字段→键值对数组大量相似属性
Bucket按时间段分桶时序/IoT数据
Computed预计算存结果频繁读取的计算值
Document Versioningcurrent + revisions变更历史
Extended Reference冗余常用字段频繁JOIN的引用
Polymorphic共用基础+类型字段多类型同集合
Pre-Allocation先建骨架后更新结构固定的频繁更新
Schema Versioningschema_version字段文档结构变更
Subset热数据嵌入+冷数据引用大数组只取前N
Tree父子/祖先数组层级结构
Unified宽文档满足多查询单集合多场景

渐进式加载

详细内容按需加载 references/:

主题文件何时加载
---------------------
文档模型规范/嵌入vs引用/11种设计模式/命名规范references/design-spec.mdStep 2 文档模型设计
场景化操作(建模型/索引/聚合/分片/迁移)references/usage-guide.mdStep 4 使用指引
最佳实践(索引/一致性/性能/分片/运维)references/best-practices.mdStep 5 生产建议
业务文档模型模板(6类业务完整示例)references/patterns.mdStep 6 模板参考
重大版本特性(废弃/依赖变更/新模块)references/version-major.mdStep 0 版本检查(模块激活时即加载)
深度版本特性 — 8.0(批量写入/均衡策略/聚合)references/version-8.0.mdStep 0 版本检查时自动加载(版本 ≤ 用户目标版本时)
深度版本特性 — 7.0(通配符复合索引/CDC/执行引擎)references/version-7.0.mdStep 0 版本检查时自动加载(版本 ≤ 用户目标版本时)

版本参考文档启用规则

  1. 模块激活时 — 始终加载 references/version-major.md,Agent 需主动对比用户使用的 MongoDB 版本,若存在废弃项或重大变更,立即提示用户
  2. 深度特性 Step 0 自动加载 — 版本检查时加载所有 version-X.Y.md(X.Y ≤ 用户目标版本)。设计过程中 Agent 从已加载的上下文中自主检索匹配相关特性,用户无需指定版本号
  3. 深度特性按大版本拆分,小版本持续追加 — 如 version-8.0.md 包含该大版本下所有小版本的设计级特性。更新时在文件中新增 ## X.Y.Z 版本节即可,不单开文件

硬规则

  1. 设计规范内容来自权威资料(MongoDB官方文档/阿里云MongoDB最佳实践),不编造
  2. 单文档不超过 16MB,数组不超过 1000 元素
  3. 索引必须遵循 ESR 规则
  4. 能用嵌入解决的不要用 $lookup
  5. 片键不可更改,选择要慎重
  6. 避免单调递增片键(会成为热点)
  7. 多文档事务有性能开销,尽量通过模型设计避免

版本历史

共 3 个版本

  • v1.0.2 MODULE.md 1.0.1→1.0.2,追加 MongoDB 8.2:Search & Vector Search 下放自管部署、/ 混合搜索、可查询加密子串查询、未索引查询 49%提升、时序批量插入 3x吞吐、WiredTiger 缓存百分比、zstd 负压缩级别、支撑窗口延长至 5 年 当前
    2026-06-12 15:41 安全 安全
  • v1.0.1 更新了新版本特性能力说明。
    2026-06-09 14:30 安全 安全
  • v1.0.0 初始版本
    2026-06-03 11:45 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

MySQL 设计与使用助手

user_3651d062
帮助Agent为项目进行MySQL Schema设计、索引设计、查询设计,并提供场景化使用指南。当用户需要设计数据库表结构、优化查询性能、规划分库分表方案时触发。
★ 0 📥 61

Elasticsearch搜索分析设计

user_3651d062
帮助Agent为项目进行Elasticsearch索引设计、Mapping设计、搜索查询设计,并提供场景化使用指南。当用户需要设计搜索引擎Schema、优化全文搜索、规划日志/APM/向量搜索方案时触发。
★ 0 📥 22

活动新闻稿写作

user_3651d062
生成规范的活动新闻稿:根据用户提供的发言稿、活动议程、宣传材料等素材,提取关键信息并输出符合政府或企业宣传规范的正式新闻稿。(1)应用场景: 用户需要撰写正式活动新闻稿时触发,包括:行业会议/论坛/峰会、签约仪式、发布会、官方培训/学习、领
★ 0 📥 44