这是一个 MongoDB 专家技能,面向文档建模、聚合管道优化、分片策略、副本集配置、索引模式与 NoSQL 性能优化。使用方式分三步。第一步环境检测:通过连接串(mongodb://、mongodb+srv://)、配置文件(mongod.conf、副本集配置)、包依赖(mongoose、mongodb 驱动、@mongodb-js/zstd)、默认端口(27017、27018、27019)以及 Atlas 域名和集群配置识别部署形态;同时识别 Node.js 原生驱动或 mongoose、mongosh、Compass、Atlas CLI 等工具,以及单机、副本集、分片集群或 Atlas 的部署类型。第二步问题归类,覆盖八类:文档建模与模式设计(文档接近 16MB、数组无界增长、嵌套过深,诊断用 db.collection.stats()、$bsonSize 等,建议在“多”端引用而非在“一”端堆数组);聚合管道优化(用 $match 前置过滤、按分片键分组以便下推、allowDiskUse,配合 explain 与 $indexStats);索引策略(遵循 ESR 即等值、排序、范围顺序设计复合索引,使用部分索引、文本索引,清理未使用索引);连接池管理(配置 maxPoolSize、minPoolSize、maxIdleTimeMS、maxConnecting 等并按峰值并发估算池大小);查询性能与索引策略(开启慢查询分析 db.setProfilingLevel,使用投影与覆盖查询、基于游标分页替代 skip/limit,控制检查文档数与返回文档数之比);分片策略设计(用 sh.status() 分析分布,选择高基数、随机分布且包含常用查询字段的分片键,避免散列聚合查询,监控均衡器);副本集与读偏好(用 rs.status()、rs.printReplicationInfo() 检查健康与延迟,按一致性选择 primary、secondaryPreferred、nearest 等,支持标签路由);事务与多文档操作(用 session.withTransaction 缩小事务范围,处理 TransientTransactionError 并重试)。第三步性能模式:给出属性模式、桶模式、计算模式、子集模式等建模模式,以及覆盖查询等索引优化模式。限制方面,资料未提供收费、价格、平台、效果数据与具体安装命令,这些暂未提供;资料未给出评测与版本要求。
mongodb-expert
数据与分析
更新于 10-15 20:21