SuperAPI AI 工具集

mongodb-schema-design

设计与创作

查看项目

更新于 10-16 05:46

技能介绍

用途:该技能提供 MongoDB 数据建模的模式与反模式参考,适用于从零设计模式、从 SQL/关系库迁移、评审现有模型的性能问题、排查慢查询与文档膨胀、决定嵌入还是引用、建模各类关系与树形结构、处理 16MB 文档上限,以及为集合添加模式验证。

主要能力:包含三类参考规则。反模式 3 条:不必要的集合拆分、过度规范化与频繁慢 $lookup、无用或重叠索引。模式基础 4 条:嵌入与引用的取舍、文档模型基础、模式验证($jsonSchema)、文档大小。设计模式 11 条:近似值计数、归档、属性模式、桶模式、计算模式、文档版本化、扩展引用、异常值、多态、模式版本化、原生时间序列集合。

核心原则:一起访问的数据应存储在一起;围绕查询而非实体设计模式。嵌入适用于 1:1、1:few(N<100)且总是一起访问、需要原子更新的场景;引用适用于独立访问、多对多或无界数组。文档上限 16MB 为硬限制,可用 $bsonSize 监控。验证建议先在现有集合使用 validationLevel: "moderate" 与 validationAction: "warn",再收紧为 strict/error。

使用方式:先评估环境(新设计还是生产库、是否 Atlas 及层级),再用 db.serverStatus().opcounters 判断负载类型(读多、写多或均衡),然后与用户一起选择分析数据源:查询统计(仅读操作,需 Atlas M10+)、Atlas 慢查询日志(读写均含,需 M10+)、代码库中的真实查询、自然语言描述。优化重点放在既频繁又慢的查询上。

限制:查询统计目前只捕获读操作且需 Atlas M10+;嵌入与引用建议为粗略指引,须结合实际负载验证。连接 MongoDB MCP Server 可自动执行验证(推断模式、测量文档与数组大小、查看集合统计),建议使用 --readOnly。任何写入或破坏性操作均需用户明确批准,不会在部分或含糊同意下执行。