まず、Node.jsでMongoDBに接続するためのライブラリをインストールします。一般的には、"mongodb" パッケージを使用します。次のコマンドを使用してインストールします:
npm install mongodb
MongoDBへの接続を確立するために、以下のようなコードを使用します:
const { MongoClient } = require('mongodb');
const uri = 'mongodb://localhost:27017'; // MongoDBの接続URI
const client = new MongoClient(uri);
async function connect() {
try {
await client.connect();
console.log('MongoDBに接続しました');
} catch (error) {
console.error('MongoDBへの接続に失敗しました:', error);
}
}
connect();
接続が確立されたら、集計パイプラインを使用してデータを処理できます。以下に、いくつかの一般的な集計操作の例を示します。
-
文書のカウント:
const result = await client.db('mydatabase').collection('mycollection').countDocuments(); console.log('文書の総数:', result);
-
フィルタリングとソート:
const pipeline = [ { $match: { status: 'active' } }, // statusが'active'の文書をフィルタリング { $sort: { createdAt: -1 } }, // createdAtフィールドで降順にソート ]; const result = await client.db('mydatabase').collection('mycollection').aggregate(pipeline).toArray(); console.log('フィルタリングとソート結果:', result);
-
グループ化と集計:
const pipeline = [ { $group: { _id: '$category', total: { $sum: '$quantity' } } }, // カテゴリごとの数量合計を計算 { $sort: { total: -1 } }, // 合計値で降順にソート ]; const result = await client.db('mydatabase').collection('mycollection').aggregate(pipeline).toArray(); console.log('グループ化と集計結果:', result);
これらはいくつかの基本的な集計操作の例ですが、MongoDBの集計パイプラインには多くの演算子とステージがあります。詳細については、MongoDBの公式ドキュメントを参照してください。
このように、MongoDBとNode.jsを組み合わせることで、柔軟なデータ処理と集計が可能になります。