Agent Skills
返回列表
💻

MongoDB 数据建模

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @kunlungrowth/mongodb-modeling。

技能介绍

解决什么问题

MongoDB 数据模型常见误区是过早追求规范化,把强关联字段拆成多集合,导致首页列表和详情页反复 $lookup;或者把大量评论嵌入文章文档,造成文档膨胀。这个技能面向开发者在设计或重构阶段,把查询路径、写入频率和文档大小作为决策输入,避免上线后再推倒重来。

核心工作流

技能先判断业务是否适合 MongoDB:文档结构灵活、读多写少、JSON 与前端天然匹配、需要水平扩展的场景更合适;强跨文档事务、复杂多表 JOIN、固定 schema 的报表系统应优先考虑 PostgreSQL。随后按“一起读、一起写”原则处理建模决策:一对一关系倾向嵌入,一对少可嵌入,一对多通常独立集合加引用;如果读多写少且引用集合不大,可使用 Extended Reference 冗余 author_name,也可用 Computed Pattern 缓存 comment_count。最后围绕查询路径给出索引与聚合方案,例如 articles: { created_at: -1, status: 1 }、comments: { article_id: 1, created_at: -1 },并优先用 $lookup、$project 减字段,详情页用两次查询替代 $lookup + $unwind。

适用边界

该技能适合新项目选型、已有集合变慢、TB 级分片与聚合管道优化;不适合严格 ACID 跨文档事务、复杂 OLAP 或多表 JOIN。输出更像架构评审清单,不替代具体业务约束下的压测与容量评估。

使用场景

  • 为博客系统选择文章、评论、作者集合结构,并确定索引和查询路径
  • 首页按时间倒序列表现有聚合多次引用作者,需要优化管道和冗余字段
  • 文章评论量增长到几十万条,评估评论独立集合、索引和分页策略
  • 业务从单节点到 TB 级数据,设计分片键、分片集群和查询路由

适合人员

  • 负责后端服务的开发者:需要为 JSON 数据选择嵌入或引用,避免上线后重写模型
  • 做内容平台的工程师:要优化文章列表、详情页和评论聚合查询路径
  • 负责数据架构的负责人:需要判断 MongoDB 是否适合业务并制定分片策略
  • 接手旧系统的开发者:需要诊断集合变慢、补索引或重构文档关系