Pega cualquier consulta SQL y obtén al instante su equivalente en MongoDB. Compatible con SELECT, INSERT, UPDATE, DELETE, GROUP BY, HAVING, LIKE, IN, IS NULL y más.
Esta herramienta traduce consultas SQL estándar a la sintaxis equivalente de MongoDB, una base de datos NoSQL orientada a documentos. Está pensada para quienes migran desde una base de datos relacional o trabajan con ambos mundos a la vez.
Escribe tu consulta SQL en el panel de entrada y la consulta MongoDB correspondiente aparece al lado. El análisis lo realiza un parser SQL real, así que incluso las cláusulas WHERE complejas y las agregaciones básicas se convierten correctamente en lugar de aproximarse.
Operaciones SQL compatiblesLa selección de columnas y las condiciones WHERE se convierten en una llamada find() de MongoDB con filtro de consulta y proyección.
ORDER BY se convierte en sort(), LIMIT en limit() y OFFSET en skip().
GROUP BY junto con funciones de agregación (COUNT, SUM, AVG, MIN, MAX) se traduce en un pipeline de agregación de MongoDB.
Un filtro HAVING se convierte en una segunda etapa $match del pipeline, aplicada después de la agrupación.
Los patrones LIKE de SQL que usan % (cualquier secuencia de caracteres) y _ (un solo carácter) se convierten en expresiones regulares de MongoDB.
Compatibilidad completa con IN/$in, NOT IN/$nin, IS NULL, IS NOT NULL/$ne, AND/$and y OR/$or, incluidos los paréntesis para agrupar condiciones.
Un INSERT de una sola fila se convierte en insertOne(); un INSERT de varias filas, en insertMany(). Los nombres de columna pasan a ser nombres de campo del documento.
La cláusula SET se convierte en el operador $set de MongoDB y la condición WHERE pasa a ser el documento de filtro.
DELETE FROM con una condición WHERE se convierte en deleteMany(). Úsalo con cuidado: sin WHERE se eliminan todos los documentos.
| Operador SQL | Operador MongoDB | Notas |
|---|---|---|
| = | $eq (or implicit) | Coincidencia exacta |
| != / <> | $ne | Distinto de |
| > | $gt | Mayor que |
| >= | $gte | Mayor o igual que |
| < | $lt | Menor que |
| <= | $lte | Menor o igual que |
| IN (...) | $in | Valor incluido en la lista |
| NOT IN (...) | $nin | Valor no incluido en la lista |
| LIKE '%x%' | $regex: /.*x.*/ | % pasa a .*, _ pasa a . |
| NOT LIKE | $not: /pattern/ | Expresión regular negada |
| IS NULL | field: null | Incluye también los campos ausentes |
| IS NOT NULL | $ne: null | El campo existe y no es null |
| AND | $and | Todas las condiciones deben cumplirse |
| OR | $or | Basta con que se cumpla una condición |
| COUNT(*) | $sum: 1 | Dentro de la etapa $group |
| SUM(f) | $sum: "$f" | Dentro de la etapa $group |
| AVG(f) | $avg: "$f" | Dentro de la etapa $group |
| MIN(f) | $min: "$f" | Dentro de la etapa $group |
| MAX(f) | $max: "$f" | Dentro de la etapa $group |
| ORDER BY ASC | sort({ f: 1 }) | Ascendente |
| ORDER BY DESC | sort({ f: -1 }) | Descendente |
| LIMIT n | limit(n) | |
| OFFSET n | skip(n) |
¿Estás pasando de MySQL, PostgreSQL, SQL Server o SQLite a MongoDB? Traduce rápidamente la lógica de tus consultas y reduce el riesgo de errores durante la migración.
Si ya conoces SQL, ver cada concepto junto a su equivalente es el camino más rápido para dominar el lenguaje de consultas de MongoDB y el modelo de documentos que hay detrás.
Incluso quien lleva años usando MongoDB suele pensar primero en SQL. Usa el convertidor como referencia rápida para traducir ese modelo mental a la sintaxis correcta.
Comparte las consultas convertidas con compañeros que vienen del mundo relacional. Una referencia común elimina fricciones entre dos culturas de base de datos distintas.
Pega tu sentencia SQL en el panel de entrada y pulsa Convertir. La herramienta analiza el SQL y devuelve el comando equivalente para la shell de MongoDB: SELECT se convierte en find(), las condiciones WHERE pasan a ser un filtro de consulta, ORDER BY se convierte en sort() y LIMIT y OFFSET en limit() y skip(). No hace falta registrarse ni instalar nada.
MongoDB no tiene la palabra clave LIKE: la búsqueda por patrones se hace con $regex. El comodín % de SQL pasa a ser .* y el comodín _ pasa a ser un solo punto. Así, WHERE name LIKE '%mongo%' se convierte en { name: { $regex: /.*mongo.*/ } }, y NOT LIKE se envuelve en $not.
GROUP BY se corresponde con un pipeline de agregación que incluye una etapa $group. Las columnas agrupadas pasan a ser el _id de esa etapa y las funciones de agregación se convierten en acumuladores: COUNT(*) pasa a { $sum: 1 }, SUM(campo) pasa a { $sum: "$campo" }, y AVG, MIN y MAX se corresponden con $avg, $min y $max. Una cláusula HAVING se convierte en una segunda etapa $match colocada después de $group.
No de forma automática. Un JOIN en MongoDB requiere una etapa $lookup y una decisión sobre si los datos relacionados deben incrustarse o referenciarse, y eso depende del diseño de tu esquema, no solo del SQL. Convierte aquí las consultas de una sola tabla y añade tú la etapa $lookup.
No. Este convertidor traduce la sintaxis de las consultas, no los datos. Para mover las filas necesitas una herramienta de migración como MongoDB Relational Migrator, que es gratuita y admite Oracle, SQL Server, MySQL y PostgreSQL. Usa este convertidor en paralelo para traducir las consultas que ya están en el código de tu aplicación.
Sí. La herramienta es totalmente gratuita, funciona en el navegador, no requiere cuenta y no guarda ninguna de tus consultas. Está disponible en inglés, italiano, ruso, chino, francés y español.
Convertir las consultas es el último paso. Estas guías abordan la parte que decide el éxito de una migración: cómo rediseñar un esquema relacional en documentos.