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 シェルから圧縮されたパイプラインをコピーするすべての人のために作られています。すべてブラウザツールとしてローカルで動作するため、リクエストの構築やアップロードは一切なく、整形ツールは自分のマシン上でパイプラインを解析・再整形します。エクスポートされたクエリの整理、パイプラインのドキュメント化、本番データに対する集約を実行する前の括弧の位置ミスの発見に使えます。
機能
- 完全な `db.collection.aggregate([...])` 呼び出しとむき出しのステージ配列の両方を整形
- すべてのステージとネストされた式にわたる一貫した 2 スペースのインデント
- $match、$group、$sort、$project、$lookup、$unwind、$facet などの一般的なステージを処理
- ISODate()、ObjectId()、演算子キーなどの MongoDB 固有の値を保持
- 入力に合わせたライブ整形 — 実行や送信のステップ不要
- 括弧の不一致や構文が無効な場合の明確なエラーメッセージ
- 整形したパイプラインをコピーするか .js ファイルとしてダウンロード
- すべてブラウザ内で動作 — 何もアップロードされない
MongoDB Aggregation Beautifier の使い方
- 集約パイプラインまたは完全な aggregate() 呼び出しを入力欄に貼り付ける
- 出力パネルに表示される整形・インデントされたパイプラインを読む
- 括弧や構文がおかしい場合は、報告されたエラーを修正する
- 整形した結果をコピーするか 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 行のパイプラインを、読みやすくインデントされたステージに再整形します。
よくあるエラーとトラブルシューティング
- 整形できませんでした — 括弧の不一致が報告される。 — すべての [、{、( に対応する閉じ括弧があるか確認してください。括弧が 1 つ抜けるとパイプライン全体の解析が壊れます。
- パイプラインの一部だけ貼り付けて構文エラーが出た。 — 外側の括弧を含め、完全な aggregate([...]) 呼び出しまたはステージ配列全体をコピーしてください。
- コードエディタからの末尾カンマが解析失敗を引き起こす。 — 整形前に、最後のステージやオブジェクトの最後のフィールドの後の末尾カンマを削除してください。
- ドキュメントからのスマートクォートが入力を壊す。 — 文字列値が正しく解析されるよう、波括弧の引用符をまっすぐな " や ' の引用符に置き換えてください。
よくある質問
- MongoDB 集約整形ツールとは何ですか?
- 圧縮された、または 1 行の MongoDB 集約パイプラインを取り込み、各ステージと式が読みやすくレビューしやすいクリーンなインデントで再整形するブラウザツールです。
- 完全な aggregate() 呼び出しでもステージ配列だけでも動作しますか?
- 両方です。完全な db.collection.aggregate([...]) 文を貼り付けても、パイプラインステージのむき出しの配列だけを貼り付けても、整形ツールはどちらも整形します。
- データベースに対して集約を実行しますか?
- いいえ。パイプラインのテキストを整形するだけです。MongoDB に接続したり、集約を実行したり、クエリ結果を返したりはしません。
- パイプラインはどこかにアップロードされますか?
- いいえ。これはすべてブラウザ内で動作するローカルツールなので、貼り付けたパイプラインはデバイスから離れることはなく、ArrayKit やいかなるサーバーにも何もアップロードされません。
- 機密のフィールド名や値を含むパイプラインを貼り付けても安全ですか?
- はい。すべての解析と整形は自分のマシン上でローカルに行われるため、機密のコレクション、フィールド、値の詳細はデバイス上に留まります。
- MongoDB クエリ整形ツールとはどう違いますか?
- クエリ整形ツールは find() やシェルスタイルのクエリを対象としますが、このツールは $match、$group、$sort などのステージの配列である集約パイプラインに最適化されています。
関連ツール
すべての ArrayKit ツール