705-technologies-nosql-mongodb について
705-technologies-nosql-mongodbは、Javaチーム向けにMongoDBなどの非リレーショナルデータモデルとクエリの設計・レビューを支援するスキルです。スキーマ、インデックス、集約、一貫性、運用確認を扱い、明示的な依頼がない限りフレームワーク連携は対象外です。
主な機能
- 01ドキュメントと集約モデルの設計
- 02スキーマ検証と進化の設計
- 03クエリとインデックスの設計
- 04集約パイプラインのレビュー
- 05一貫性と移行の安全性への対応
- 06クエリプランと本番診断の活用
活用シーン
- 01MongoDBドキュメントスキーマの設計
- 02クエリとインデックスの選定レビュー
- 03集約パイプラインの性能改善
- 04NoSQLの一貫性とトランザクションの評価
インストール
コマンドをコピーしてターミナルで実行します。
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 スキルを参照してください。
制約
ユーザーから明示的に依頼されない限り、推奨事項はデータベースのモデリングとクエリのレイヤーに限定してください。このリポジトリの 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 を参照してください。