ここで実行 100% ブラウザ内で動作します。アップロードもログインも不要です。
SQL to MongoDB
SELECT 文を MongoDB の find() クエリに変換します。
使い方
- 左欄に SELECT 文を貼り付けます。
- 変換器は SELECT リスト、FROM、WHERE、ORDER BY、LIMIT、OFFSET の各節を読み取ります。
- 右側に等価な MongoDB シェル呼び出しが表示されます:db.collection.find(filter[, projection]).sort().skip().limit()。
- パネル下の注記行で各調整を確認できます —— LIKE がアンカー付き正規表現になったなど。
- クエリを mongosh、Compass、ドライバのコードにコピーします。
よくある用途
- SQL から MongoDB へ移行 —— アプリケーション移植の際に、レポート系クエリを先に翻訳する。
- find() を手書きする回数を減らす —— チームが知っている SQL を貼って、filter ドキュメントを読む。
- フィルタの意味を確認 —— スキーマを決める前に、SQL の演算子が $gt、$lt、$ne、$in、$regex にどう対応するか見る。
- 行数の集計 —— COUNT(*) は同じ filter の countDocuments になり、別途書き直す必要がありません。
よくある質問
Q: JOIN、GROUP BY、HAVING があると? A: 変換器はエラーで停止し、節の名前と理由を示します。find() は結合もグループ化もできません。これらの操作は集約パイプライン($lookup、$group、$match)に属し、誤った結果を返すクエリを出すのではなく、その旨をエラーメッセージで伝えます。
Q: LIKE はどう変換されますか? A: アンカー付き $regex に変換されます。% は .*、_ は . になり、他の文字はすべてエスケープされます。SQL の LIKE がエンジンによって大文字小文字を区別しないのに対し、MongoDB の正規表現は既定で区別するため、照順序が大文字小文字に依存する場合は mongosh で i オプションを追加してください。
Q: AND と OR の優先順位は正しいですか? A: 正しいです。AND は OR より強く結合し、括弧も尊重されるため、フィルタの木構造は SQL のグループ化と一致します。条件が複数ある場合は常に明示的な $and / $or 配列で出力されるので、構造がそのまま読み取れます。
データはこのデバイス内にとどまります
SQL to MongoDB は 100% ローカルで動作します。貼り付けたり、ドロップしたデータはすべてお使いのブラウザ内で処理され、送信されることはありません。当社のサーバーには何も保存されません——タブを閉じればすべて消えます。
入力された内容がサーバーへ送信・記録・解析利用されることはありません。初回読み込み後はネットワークを切断していてもこのページは動作します。