MongoDB Aggregation Beautifier

Beautify and indent MongoDB aggregation pipelines in your browser.

これはローカルツールです。すべてブラウザ内で動作し、貼り付けた集約パイプラインはデバイスから離れることはなく、ArrayKit やいかなるサーバーにも何もアップロードされません。

MongoDB クエリ整形ツールを開く

MongoDB Aggregation Beautifier について

MongoDB 集約整形ツールは、乱雑な 1 行の集約パイプラインを、クリーンで読みやすいコードにブラウザ内で整形・インデントします。`db.collection.aggregate([...])` 呼び出し、または `$match`、`$group`、`$sort`、`$lookup` などのステージのむき出しの配列を貼り付けると、パイプライン全体を一貫した 2 スペースのインデントで整形し、各ステージが何をしているか実際に読めるようにします。遅い集約をデバッグするバックエンド・データエンジニア、プルリクエストを確認するレビュアー、ログ・ドライバー・Mongo シェルから圧縮されたパイプラインをコピーするすべての人のために作られています。すべてブラウザツールとしてローカルで動作するため、リクエストの構築やアップロードは一切なく、整形ツールは自分のマシン上でパイプラインを解析・再整形します。エクスポートされたクエリの整理、パイプラインのドキュメント化、本番データに対する集約を実行する前の括弧の位置ミスの発見に使えます。

機能

MongoDB Aggregation Beautifier の使い方

  1. 集約パイプラインまたは完全な aggregate() 呼び出しを入力欄に貼り付ける
  2. 出力パネルに表示される整形・インデントされたパイプラインを読む
  3. 括弧や構文がおかしい場合は、報告されたエラーを修正する
  4. 整形した結果をコピーするか pipeline.js としてダウンロードする

入力

db.orders.aggregate([{$match:{status:"paid"}},{$group:{_id:"$userId",total:{$sum:"$amount"}}},{$sort:{total:-1}}])

出力

db.orders.aggregate([
  {
    $match: {
      status: "paid"
    }
  },
  {
    $group: {
      _id: "$userId",
      total: {
        $sum: "$amount"
      }
    }
  },
  {
    $sort: {
      total: -1
    }
  }
])

コンパクトな 1 行のパイプラインを、読みやすくインデントされたステージに再整形します。

よくあるエラーとトラブルシューティング

よくある質問

MongoDB 集約整形ツールとは何ですか?
圧縮された、または 1 行の MongoDB 集約パイプラインを取り込み、各ステージと式が読みやすくレビューしやすいクリーンなインデントで再整形するブラウザツールです。
完全な aggregate() 呼び出しでもステージ配列だけでも動作しますか?
両方です。完全な db.collection.aggregate([...]) 文を貼り付けても、パイプラインステージのむき出しの配列だけを貼り付けても、整形ツールはどちらも整形します。
データベースに対して集約を実行しますか?
いいえ。パイプラインのテキストを整形するだけです。MongoDB に接続したり、集約を実行したり、クエリ結果を返したりはしません。
パイプラインはどこかにアップロードされますか?
いいえ。これはすべてブラウザ内で動作するローカルツールなので、貼り付けたパイプラインはデバイスから離れることはなく、ArrayKit やいかなるサーバーにも何もアップロードされません。
機密のフィールド名や値を含むパイプラインを貼り付けても安全ですか?
はい。すべての解析と整形は自分のマシン上でローカルに行われるため、機密のコレクション、フィールド、値の詳細はデバイス上に留まります。
MongoDB クエリ整形ツールとはどう違いますか?
クエリ整形ツールは find() やシェルスタイルのクエリを対象としますが、このツールは $match、$group、$sort などのステージの配列である集約パイプラインに最適化されています。

関連ツール

すべての ArrayKit ツール