mongodb は何をしますか?
MongoDBデータベースをベストプラクティスに従って操作します。スキーマ設計、クエリ作成、集約パイプライン構築、パフォーマンス最適化の際に使用します。MongoDB、Mongoose、NoSQL、集約パイプライン、ドキュメントデータベース、MongoDB Atlasに関連するタスクでトリガーされます。
概要
このスキルは、AIエージェントがMongoDBデータベースを効率的かつ安全に操作するためのベストプラクティスを提供します。スキーマ設計からクエリ最適化まで、開発プロセス全体をサポートします。
主な機能
- スキーマ設計: データモデリングのパターン(埋め込み vs 参照)、インデックス戦略、スキーマバリデーション
- クエリ作成: 効果的なクエリ演算子の使用、射影、ソート、ページネーション
- 集約パイプライン:
$match,$group,$lookup,$unwind,$projectなどのステージを組み合わせたデータ処理 - パフォーマンス最適化: インデックス作成、クエリプロファイリング、スロークエリの特定と改善
- Mongoose ODM: スキーマ定義、バリデーション、ミドルウェア、仮想プロパティ
- MongoDB Atlas: クラスター管理、バックアップ、セキュリティ設定、サーバーレスインスタンス
使用例
スキーマ設計
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
age: { type: Number, min: 0 },
address: {
street: String,
city: String,
zip: String
},
createdAt: { type: Date, default: Date.now }
});
// インデックス
userSchema.index({ email: 1 });
userSchema.index({ age: -1, name: 1 });
集約パイプライン
db.orders.aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$customerId", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } },
{ $limit: 10 }
]);
ベストプラクティス
- スキーマ設計では、頻繁にアクセスするデータを埋め込み、関連データを参照として分離する
- クエリには常にインデックスを使用し、
explain()で実行計画を確認する - 集約パイプラインでは、
$matchをできるだけ早い段階で使用してドキュメント数を絞り込む $lookupの使用は最小限に抑え、可能な限りデータモデルを最適化する- MongoDB Atlasでは、自動バックアップとスケーリングポリシーを設定する
トリガーキーワード
MongoDB、Mongoose、NoSQL、集約パイプライン、ドキュメントデータベース、MongoDB Atlas、スキーマ設計、インデックス、クエリ最適化
対応プラットフォーム
- Claude Code
- Cursor
- Codex
- その他のAIエージェント