SQL a NoSQL
Pega una sola sentencia SQL SELECT y el conversor la reescribe como una consulta find() equivalente de MongoDB. Asigna las columnas seleccionadas a una proyección, la cláusula WHERE a un filtro, ORDER BY a .sort() y LIMIT a .limit(). Es un reescritor de consultas para sentencias sencillas, no una herramienta de migración: no admite JOIN, GROUP BY, agregaciones ni subconsultas.
Cómo funciona la conversión
-
1
Analizar el SELECT
La herramienta lee una sola sentencia con la forma `SELECT columnas FROM tabla [WHERE ...] [ORDER BY ...] [LIMIT n]`.
-
2
Asignar cada cláusula
Las columnas se convierten en una proyección `{ col: 1 }`, `WHERE` en un filtro, `ORDER BY` en `.sort()` y `LIMIT` en `.limit()`.
-
3
Traducir los operadores
Los operadores de comparación se asignan a operadores de Mongo: `>` a `$gt`, `<` a `$lt`, `>=` a `$gte`, `<=` a `$lte`, `!=` a `$ne`, y `=` a una coincidencia directa.
-
4
Copiar el resultado
La línea `db.collection.find(...)` generada está lista para pegar en la shell mongosh o en una llamada del driver.
Un ejemplo práctico
SQL:
SELECT name, price FROM products WHERE price > 100 ORDER BY price DESC LIMIT 5;
Consulta de MongoDB:
db.products.find({ price: { $gt: 100 } }, { name: 1, price: 1 }).sort({ price: -1 }).limit(5)
Qué asigna el conversor
| SQL | MongoDB find() |
|---|---|
SELECT a, b |
proyección { a: 1, b: 1 } |
SELECT * |
todos los campos (proyección vacía) |
FROM users |
db.users.find(...) |
WHERE a = 5 |
{ a: 5 } |
WHERE a > 5 |
{ a: { $gt: 5 } } |
WHERE a >= 5 |
{ a: { $gte: 5 } } |
WHERE a != 5 |
{ a: { $ne: 5 } } |
WHERE a AND b |
{ a: ..., b: ... } |
WHERE a OR b |
{ $or: [ ... ] } |
ORDER BY a DESC |
.sort({ a: -1 }) |
LIMIT 10 |
.limit(10) |
Qué no se admite
- JOIN. Solo se lee una tabla. Combinar colecciones requiere
$lookupo un modelo de datos desnormalizado, que es una decisión de esquema, no una reescritura de consulta. - GROUP BY y agregaciones.
COUNT,SUM,AVGyGROUP BYnecesitan el pipeline de agregación (db.collection.aggregate([...])), que esta herramienta no genera. - Subconsultas, CTE y funciones de ventana. Replantea el modelo o divide el trabajo en etapas; no se pueden expresar en un
find(). - IN, LIKE y BETWEEN. El analizador de
WHEREsolo admite los operadores de comparación=,>,<,>=,<=,!=y<>. - Mezclar AND y OR. Una cláusula
WHEREse trata como todaANDo todaOR; no combines ambos en la misma sentencia. - INSERT, UPDATE, DELETE, CREATE TABLE. Solo se convierte
SELECT.
Sobre el resultado
El resultado es siempre una sola línea db.collection.find(filtro, proyección), seguida opcionalmente de .sort() y .limit(). Está pensado para la shell y los drivers de MongoDB. No genera consultas de Firestore ni de Elasticsearch, y no elige índices ni optimiza el rendimiento. Prueba la consulta con tus propios datos antes de confiar en ella.
Preguntas frecuentes
No. El resultado es siempre una consulta find() de MongoDB para la shell mongosh o un driver. No hay selector de destino para otros almacenes de documentos.
No. Eso necesita el pipeline de agregación de MongoDB (aggregate([...])), que esta herramienta no genera. Solo produce consultas find() con filtro, proyección, orden y límite.
No. Solo se lee una tabla en FROM. Los almacenes NoSQL favorecen incrustar o referenciar, así que un JOIN suele implicar un cambio en el modelo de datos, no una reescritura de la consulta.
No. Solo se convierten sentencias SELECT. Las colecciones de MongoDB no tienen esquema por defecto, así que no hay definición de tabla que traducir.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Generador de Formularios CSS
Genera el CSS de un formulario completo con estilo: una cuadrícula de formulario, etiquetas, entradas, áreas de texto, selectores y estados de foco claros. Elige el color de acento, el radio de las esquinas y la separación, y copia el código.
Desofuscador de JavaScript
Desofusca JavaScript minificado o empaquetado con renombrado de variables, decodificación de arreglos de cadenas, reversión de aplanamiento de flujo de control y embellecimiento.
Herramienta disponible en otros idiomas
- การแปลง SQL เป็น NoSQL [TH]
- SQL na NoSQL [PL]
- Từ SQL sang NoSQL [VI]
- Dari SQL ke NoSQL [ID]
- SQL zu NoSQL [DE]
- SQL para NoSQL [PT]
- SQL till NoSQL [SV]
- SQL から NoSQL へ [JA]
- من SQL إلى NoSQL [AR]
- SQL vers NoSQL [FR]
- SQL → NoSQL [KO]
- SQL naar NoSQL [NL]
- SQL to NoSQL [EN]
- SQL a NoSQL [IT]
- SQL в NoSQL [RU]
- SQL'den NoSQL'e [TR]
- 从 SQL 到 NoSQL [ZH]