Saltar al contenido

Consulta SQL a MongoDB

Convierte una sentencia SELECT de SQL en una llamada find() o pipeline de agregación de MongoDB.

Entrada
Salida

Consulta SQL a MongoDB

Pega una sentencia SELECT de SQL y esta herramienta la convierte en la consulta MongoDB equivalente: una llamada a método mongosh que puedes ejecutar en la consola, o un documento de consulta JSON plano para tu propio código. Lee la cláusula WHERE, ORDER BY, LIMIT y OFFSET y los convierte en un filtro, sort, limit y skip de MongoDB, así que "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" se convierte en un find() listo para ejecutar con los objetos de filtro y ordenamiento coincidentes.

También entiende agregación. COUNT, SUM, AVG, MIN y MAX en la lista SELECT combinados con GROUP BY producen un stage $group seguido de un stage $project que renombra los campos _id agrupados de vuelta a sus columnas originales. Un JOIN se convierte en un stage $lookup más $unwind cuando "Convertir JOIN a $lookup" está activado; desactívalo y el join se elimina, con una nota explicando por qué. "Convertir nombres de columna a camelCase" transforma columnas snake_case como first_name en firstName, coincidiendo con la nomenclatura típica de Mongoose, e la indentación es tuya para establecer.

No todas las construcciones SQL tienen un equivalente limpio en MongoDB: las subconsultas, UNION, expresiones CASE y HAVING no se asignan a una sola consulta o pipeline. En lugar de producir silenciosamente una consulta incorrecta, la herramienta reporta un error claro nombrando la construcción no soportada, o, para cosas que puede trabajar alrededor (un JOIN extra, un HAVING descartado, una columna SELECT no agrupada), añade un breve comentario de aviso arriba de la consulta generada explicando qué cambió.

Todo se ejecuta localmente en tu navegador: el SQL se analiza y se convierte completamente en tu dispositivo, y ninguna consulta o esquema abandona nunca tu dispositivo. Copia el resultado, descárgalo como un archivo .txt, o envíalo de vuelta a la entrada para seguir refinando la consulta original.

Preguntas frecuentes

¿Admite JOINs?
Un solo JOIN se convierte en un stage $lookup más $unwind en un pipeline de agregación cuando "Convertir JOIN a $lookup" está activado. RIGHT JOIN se convierte como LEFT JOIN, y los JOINs adicionales más allá del primero se anotan como ignorados.
¿Qué sucede con GROUP BY y funciones de agregación como COUNT o SUM?
Se convierten en un stage $group (con el acumulador correcto para cada función) seguido de un stage $project que restaura los nombres de columna originales, todo dentro de un pipeline de agregación.
¿Qué características de SQL no se admiten?
Las subconsultas, UNION y expresiones CASE no tienen un equivalente directo en MongoDB y producen un error claro en lugar de una consulta incorrecta. HAVING se acepta pero se descarta con un aviso, ya que necesita un segundo stage $match que añades tú mismo.
¿Puedo obtener una consulta JSON simple en lugar de un comando mongosh?
Sí. Cambia "Salida como" a consulta JSON para obtener un documento de consulta (colección, operación, filtro, etc.) que puedas analizar o incrustar en tu propio código en lugar de una llamada de shell.
¿Mi SQL se carga en algún lugar?
No. La conversión se ejecuta completamente en tu navegador; tu consulta, nombres de tabla y datos nunca abandonan tu dispositivo.