⌘K でツールを切替
FORMAT & CONVERT

SQL → MongoDBクエリ変換ツール

SQLクエリをMongoDBクエリ構文に変換します。

local
sql-mongo
§01 このツールについて

概要

リレーショナルDBとMongoDBの構文を行き来する開発者向けの変換ツールです。 シンプルな SELECT 文をパースし、等価な db.collection.find() 呼び出しを 生成します。カラムリストはprojectionに、WHERE はフィルタドキュメントに、 ORDER BY.sort()DESC-1)に、LIMIT.limit() に対応します。

使い方

  1. SQL SELECT 欄にクエリを入力または貼り付けます。
  2. 入力と同時に更新される MongoDB 出力から変換結果を確認します。

使用例

  • SELECT name, age FROM users WHERE age > 18 ORDER BY name LIMIT 10db.users.find({"age":{"$gt":18}}, {"name":1,"age":1}).sort({"name":1}).limit(10)
  • SELECT * FROM orders WHERE status = 'paid'db.orders.find({"status":"paid"})

注意事項

対応するのは基本的なクエリ形のみで、完全なSQLパーサーではありません。 複数の WHERE 条件は AND の意味(MongoDBの暗黙の論理積)で結合されます。 文字列値はシングル・ダブルどちらのクォートも可能で、クォートなしの値は数値として 扱われます。変換結果は実データで検証してから利用してください。

FAQ
クエリはサーバーに送信されますか?
いいえ。SQLのパースと変換はすべてブラウザ内で行われ、外部への送信は一切ありません。実際のテーブル名やフィールド名を含むクエリも安心して使えます。
どのSQL文に対応していますか?
SELECT ... FROM ... [WHERE] [ORDER BY] [LIMIT] 形式の単一SELECT文のみです。WHERE条件はANDで結合する必要があり、OR・JOIN・GROUP BY・サブクエリ・IN・LIKEには対応していません。
比較演算子はどう変換されますか?
等号は値の直接マッチになり、>・<・>=・<=・!=(または<>)はそれぞれ $gt・$lt・$gte・$lte・$ne に変換されます。