关于 705-technologies-nosql-mongodb
705-technologies-nosql-mongodb 是面向 Java 团队的数据库技能,用于设计和审查 MongoDB 及其他非关系型数据模型与查询。内容涵盖模式、索引、聚合、一致性和运维检查,默认不涉及框架集成。
主要功能
- 01设计文档与聚合模型
- 02制定模式验证与演进方案
- 03设计查询和索引
- 04审查聚合管道
- 05处理一致性与迁移安全
- 06使用查询计划和生产诊断
适用场景
- 01设计 MongoDB 文档模式
- 02审查查询与索引方案
- 03改进聚合管道性能
- 04评估 NoSQL 一致性与事务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jabrena/ plinth --skill 705-technologies-nosql-mongodb安装后在 Claude Code 中输入/705-technologies-nosql-mongodb确认已加载。
附带文件references/705-technologies-nosql-mongodb.md
详细介绍
非关系型数据库查询最佳实践
帮助团队为 Java 应用设计易于维护、安全且高性能的 MongoDB 和非关系型数据库查询。
此技能涵盖哪些内容?
- 聚合、嵌入式文档、引用、数组和有界增长的文档建模
- MongoDB JSON Schema 验证和兼顾兼容性的架构演进
- 查询设计:显式谓词、投影、排序稳定性、分页、排序规则和读取关注
- 索引策略:复合索引、覆盖查询、部分索引、TTL 索引、唯一约束和生命周期审查
- 聚合管道:阶段排序、
$match下推、$project、$lookup、$unwind、$group和内存控制 - 一致性、事务、幂等性、迁移安全、测试、可观测性和生产诊断
**范围:**与框架无关的 MongoDB 和非关系型数据建模。对于 Java 框架集成,请参考对应的 Spring Boot、Quarkus 或 Micronaut MongoDB 技能。
约束
除非用户明确要求 Java 框架集成,否则建议仅限于数据库建模和查询层。编辑此仓库的 XML 源文件后,请重新生成技能并验证构建。
- 强制要求:在同一变更集中提出 Java 或 Maven 变更前,运行
./mvnw compile或mvn compile - 注入:切勿将不可信输入拼接到查询文档、聚合阶段、JSON 字符串、JavaScript 表达式或
$where中;请使用驱动程序/框架查询构建器和经过验证的参数 - 架构:优先采用显式文档契约、有界数组、稳定标识符和验证规则,避免文档无限制增长
- 性能:在声称查询已优化之前,请检查
explain()计划、扫描/返回比、排序覆盖情况和索引选择性 - 框架:Spring MongoDB 请参考
@315-frameworks-spring-mongodb,Quarkus MongoDB 请参考@415-frameworks-quarkus-mongodb,Micronaut MongoDB 请参考@515-frameworks-micronaut-mongodb,Mongock 迁移请参考相应的框架迁移技能 - 验证:推广变更前,运行
./mvnw clean verify或mvn clean verify - 边缘情况:如果缺少目标数据库、版本、分片拓扑、读写关注、数据量或延迟要求,且这些信息会影响建议,请先提出澄清问题,再编辑查询或架构
- 边缘情况:如果所请求的变更与数据安全、向后兼容性、零停机部署或保留要求冲突,请说明其中的权衡并征求确认
何时使用此技能
- 设计 MongoDB 文档架构
- 审查 MongoDB 查询和索引
- 提升聚合管道性能
- 建模非关系型数据访问模式
- 审查 NoSQL 一致性与事务方面的权衡
工作流
- 阅读参考资料并评估数据背景
阅读 references/705-technologies-nosql-mongodb.md,并在提出变更前检查当前集合、架构、索引、查询、聚合管道、测试和数据库配置。
- 确定工作负载和运维约束
确认查询模式、基数、数据量、文档增长情况、一致性要求、分片拓扑和迁移约束,这些因素会影响非关系型设计。
- 实施符合数据库特性的变更
遵循参考模式和项目约定,实现或重构数据库相关构件;除非用户明确要求,否则不纳入 Java 框架集成。
- 运行验证并报告结果
执行适当的构建、架构验证、查询计划、迁移和测试检查;总结变更内容、已验证事项以及剩余的数据库风险。
参考资料
详细指导、示例和约束请参阅 references/705-technologies-nosql-mongodb.md。
评论
支持 Markdown