集計チュートリアル
Overview
集計チュートリアルでは、一般的な集計タスクを ステップ別形式で詳しく説明します。チュートリアルは、 Practical MongoDB Aggregations(書籍 の例を使用して作成されています。 ポーリング ダンプ
各チュートリアルには、次のセクションが含まれています。
概要では、集計タイプの目的と一般的なユースケースについて説明しています。 このセクションでは、チュートリアルが示す例と目的の結果についても説明します。
始める前に 。集計パイプラインを構築し、集計を実行する前に、必要なデータベース、コレクション、サンプル データについて説明します。
チュートリアルでは、集計パイプラインをビルドして実行する方法について説明します。 このセクションでは、完了した集計チュートリアルの各ステージについて説明し、集計の出力を実行して解釈する方法について説明します。
各集計チュートリアルの最後には、環境内で実行できる完全に実行可能な Node.js コード ファイルへのリンクがあります。
Tip
集計の実行の詳細については、「 集計ガイド 」をご覧ください。
集計テンプレート アプリ
集計チュートリアルに従う前に、新しい Node.js アプリを設定する必要があります。 このアプリを使用して、MongoDB 配置に接続し、MongoDB にサンプル データを挿入し、各チュートリアルで集計パイプラインを実行できます。
Tip
ドライバーをインストールして MongoDB に接続する方法については、クイック スタート ガイドの「ダウンロードとインストールとMongoDB 配置の作成 」の手順を参照してください。
ドライバーをインストールすると、 agg_tutorial.js
というファイルが作成されます。 このファイルに次のコードを貼り付けて、集計チュートリアル用のアプリ テンプレートを作成します。
const { MongoClient } = require("mongodb"); // Replace the placeholder with your connection string. const uri = "<connection string>"; const client = new MongoClient(uri); async function run() { try { const aggDB = client.db("agg_tutorials_db"); // Get a reference to relevant collections. // ... const someColl = // ... const anotherColl = // Delete any existing documents in collections. // ... await someColl.deleteMany({}); // Insert sample data into the collection or collections. // ... const someData = [ ... ]; // ... await someColl.insertMany(someData); // Create an empty pipeline array. const pipeline = []; // Add code to create pipeline stages. // ... pipeline.push({ ... }) // Run the aggregation. // ... const aggregationResult = ... // Print the aggregation results. for await (const document of aggregationResult) { console.log(document); } } finally { await client.close(); } } run().catch(console.dir);
重要
上記のコードでは、コードコメントを読みて、次のチュートリアルで変更する必要があるコードのセクションを見つけます。
変更せずにコードを実行しようとすると、接続エラーが発生します。
すべてのチュートリアルで、接続stringプレースホルダーを配置の接続stringに置き換える必要があります。
Tip
配置の 接続stringを見つける方法については、クイック スタート ガイドの「接続stringの作成」のステップを参照してください。
たとえば、接続stringが "mongodb+srv://mongodb-example:27017"
の場合、接続stringの割り当ては次のようになります。
const uri = "mongodb+srv://mongodb-example:27017";
チュートリアルのテンプレートを変更した後に完了したファイルを実行するには、shell で次のコマンドを実行します。
node agg_tutorial.js