用途
本技能为 Alpha Members Platform 提供完整的 MongoDB 与 MongoDB Atlas 能力支持,用于指导 MongoDB 数据库相关的开发、建模、查询与管理任务。
主要能力
- MongoDB 查询开发
- 模式设计与建模
- 聚合管道
- 索引优化
- Prisma MongoDB 集成
- Atlas 集群管理
- 数据库性能调优
使用方式
技能内含快速参考,可按需查阅以下内容:
Docker 命令
# Start local MongoDB
docker-compose up mongodb -d
# Connect to MongoDB shell
docker exec -it mongodb mongosh -u root -p rootpassword
# Check MongoDB logs
docker logs mongodb -f --tail=100
MongoDB Shell 命令
// Switch to database
use member_db
// List collections
show collections
// Find documents
db.members.find({ status: "ACTIVE" }).limit(10)
// Insert document
db.members.insertOne({ email: "test@example.com", status: "PENDING" })
// Update document
db.members.updateOne(
{ email: "test@example.com" },
{ $set: { status: "ACTIVE" } }
)
// Aggregation
db.members.aggregate([
{ $match: { status: "ACTIVE" } },
{ $group: { _id: "$profile.company", count: { $sum: 1 } } }
])
连接字符串
# Local Docker
mongodb://root:rootpassword@localhost:27017/member_db?authSource=admin
# Atlas (example)
mongodb+srv://user:password@cluster.mongodb.net/member_db?retryWrites=true&w=majority
模式设计
Prisma MongoDB 模式示例(datasource、Member 模型、MemberProfile 与 MemberAddress 嵌入类型,含索引定义)在技能中提供,另含 members、memberships、member_activities 集合的文档结构示例。
索引
技能提供推荐索引,包括 members 的 keycloakUserId、email 唯一索引,status+createdAt 复合索引,profile.company 索引与文本索引;memberships 的 memberId、status+endDate 索引;member_activities 的 memberId+createdAt 索引与一年 TTL 索引。
聚合管道
提供成员统计($facet 按状态、按月、总数)以及成员与 memberships 关联($lookup)的聚合示例。
Prisma 操作
提供 findUnique、create(含嵌入 profile)、update(push 数组)以及 groupBy 聚合示例。
性能优化
提供投影、覆盖查询、explain 执行计划、索引使用统计与未使用索引查找示例。
Atlas CLI 命令
# Login to Atlas
atlas auth login
# List clusters
atlas clusters list --projectId <projectId>
# Create cluster
atlas clusters create alpha-dev \
--projectId <projectId> \
--provider AWS \
--region US_EAST_1 \
--tier M10
# Get connection string
atlas clusters connectionStrings describe alpha-dev
项目文件
- Prisma Schema: prisma/schema.prisma
- MongoDB Init: infrastructure/mongo-init/01-init-db.js
- Docker: docker/docker-compose.yml(mongodb 服务)
相关代理
- mongodb-atlas-admin:集群管理
- mongodb-schema-designer:模式设计
- mongodb-query-optimizer:性能调优
- mongodb-aggregation-specialist:复杂查询
故障排查
# Check MongoDB connection
docker exec mongodb mongosh --eval "db.adminCommand('ping')"
# Check replication status
docker exec mongodb mongosh --eval "rs.status()"
# Analyze slow queries
db.setProfilingLevel(1, { slowms: 100 })
db.system.profile.find().sort({ millis: -1 }).limit(10)
适用场景
适用于需要开发 MongoDB 查询、设计文档模式、构建聚合管道、优化索引、通过 Prisma 访问 MongoDB、管理 Atlas 集群及调优数据库性能的开发与运维任务。
限制
除资料中给出的内容外,本技能未提供其他功能说明、收费或价格信息、平台支持范围、效果保证或额外使用步骤。