MongoDB クエリフォーマッター
MongoDBシェルのクエリと集約パイプラインを整形します。
MongoDB クエリはブラウザ内のローカルで整形され、サーバーにアップロードされることはありません。
SQL も扱いますか? SQL Formatter を試してください。
MongoDB クエリフォーマッター について
このオンライン mongodb フォーマッターは、密に書かれた MongoDB シェルクエリ、フィルターオブジェクト、集約パイプラインを、読みやすく適切にインデントされたコードに整えます。1 行の db.collection.find() 呼び出し、$match/$group パイプライン、単独のフィルターオブジェクトを貼り付けると、一貫したスペース・ダブルクォート・セミコロンで整形します。mongo シェルフォーマッターとして、sort・limit・project などのチェーンメソッドを扱い、2 スペースと 4 スペースのインデントを切り替えられます。ログ、Compass、チャットスレッドからクエリをコピーして、素早く読んだりデバッグしたり共有したりする必要があるバックエンド開発者、データベースエンジニア、QA テスター向けに作られています。すべてはブラウザ内のローカルで処理されるため、貼り付けたクエリは端末に留まり、サーバーにアップロードされることはありません。
機能
- db.collection.find()・update など、チェーンされたシェル文を整形
- $match・$group・$project ステージなどの集約パイプラインを整形
- 完全な文だけでなく、単独のフィルターオブジェクトや配列も受け付け
- インデントを 2 スペースと 4 スペースで切り替え
- Prettier でスペース・ダブルクォート・セミコロンを正規化
- $gt・$in・$regex などの演算子を書かれたまま保持
- 入力や貼り付けに合わせて整形出力をライブ更新
- 整形済みクエリを .js ファイルとしてダウンロード、または即座にコピー
MongoDB クエリフォーマッター の使い方
- 入力欄に MongoDB のクエリ・パイプライン・フィルターオブジェクトを貼り付けます。
- ツールバーで 2 spaces または 4 spaces のインデントを選びます。
- 出力パネルで、ライブ更新される整形済みクエリを確認します。
- 結果をコピーするか、Download で query.js として保存します。
例
入力
db.users.find({age:{$gt:18},active:true}).limit(5)
出力
db.users.find({ age: { $gt: 18 }, active: true }).limit(5);
1 行の find クエリをクリーンなスペースで再整形。
よくあるエラーとトラブルシューティング
- 中括弧や丸括弧が対応していないクエリを貼り付けると構文エラーになる。 — 整形の前に、すべての {・[・( に対応する閉じ文字があることを確認してください。
- ターミナルからコピーした末尾のカンマやシェルプロンプト文字が解析を壊す。 — 先頭のプロンプトと余分なカンマを取り除き、入力を有効な JavaScript にしてください。
- 単独のオブジェクトは整形されるが複数文のスクリプトは整形されない。 — 1 つの文またはオブジェクトずつ整形するか、複数文を有効なスクリプトとしてまとめてください。
- 入力のシングルクォートがダブルクォートになって返ってくる。 — これは仕様です。フォーマッターは一貫性のため文字列をダブルクォートに正規化します。
よくある質問
- MongoDB フォーマッターとは何ですか?
- MongoDB フォーマッターは、db.collection.find() のような MongoDB シェル文、集約パイプライン、単独のフィルターオブジェクトや配列を、一貫したインデント・スペース・クォートで整形するブラウザ内ツールです。
- MongoDB の集約パイプラインを整形するには?
- $match・$group・$sort などのステージの配列を MongoDB フォーマッターに貼り付けると、各ステージを明確なネストで整形し、パイプラインを読みやすくします。
- MongoDB フォーマッターでインデント幅を制御できますか?
- はい。ツールバーで 2 スペースと 4 スペースを切り替えると、整形出力が即座に更新されます。
- MongoDB フォーマッターは私の演算子や値を変えますか?
- いいえ。$gt や $in などの演算子とフィールド値は保持され、読みやすさのために空白・クォート・セミコロンのみが正規化されます。
- この MongoDB フォーマッターを使うとクエリはどこかに送信されますか?
- いいえ。整形はすべてブラウザ内で行われ、クエリがサーバーにアップロードされることはないため、貼り付けたものが端末から外に出ることはありません。
関連ツール
すべての ArrayKit ツール