Vai al contenuto
100% locale

Query SQL a MongoDB

Converti un'istruzione SELECT SQL in una chiamata find() o un pipeline di aggregazione MongoDB.

Ingresso
Uscita

Query SQL a MongoDB

Incolla un'istruzione SELECT SQL e questo strumento la converte nella query MongoDB equivalente: una chiamata al metodo mongosh che puoi eseguire nella shell, o un documento di query JSON semplice per il tuo codice. Legge la clausola WHERE, ORDER BY, LIMIT e OFFSET e li trasforma in un filtro MongoDB, ordinamento, limit e skip, quindi "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" diventa un find() pronto all'esecuzione con gli oggetti filtro e ordinamento corrispondenti.

Capisce anche l'aggregazione. COUNT, SUM, AVG, MIN e MAX nell'elenco SELECT combinati con GROUP BY producono uno stage $group seguito da uno stage $project che rinomina i campi _id raggruppati alle loro colonne originali. Un JOIN diventa uno stage $lookup più $unwind quando "Converti JOIN in $lookup" è attivo; disattivalo e il join viene eliminato, con una nota che spiega perché. "Converti i nomi delle colonne in camelCase" trasforma le colonne snake_case come first_name in firstName, corrispondendo alla nomenclatura tipica di Mongoose, e l'indentazione è tua da impostare.

Non tutti i costrutti SQL hanno un equivalente pulito in MongoDB: le subquery, UNION, le espressioni CASE e HAVING non si mappano a una singola query o pipeline. Piuttosto che produrre silenziosamente una query errata, lo strumento segnala un errore chiaro nominando il costrutto non supportato, oppure, per le cose con cui può cavarsela (un JOIN extra, un HAVING eliminato, una colonna SELECT non raggruppata), aggiunge un breve commento di avviso sopra la query generata spiegando cosa è cambiato.

Tutto viene eseguito localmente nel tuo browser: l'SQL viene analizzato e convertito completamente sul tuo dispositivo, e nessuna query o schema lascia mai il tuo dispositivo. Copia il risultato, scaricalo come file .txt, o rimandalo nell'input per continuare a perfezionare la query originale.

FAQ

Supporta i JOIN?
Un singolo JOIN viene convertito in uno stage $lookup più $unwind in un pipeline di aggregazione quando "Converti JOIN in $lookup" è attivo. RIGHT JOIN viene convertito come LEFT JOIN, e i JOIN aggiuntivi oltre il primo sono annotati come ignorati.
Cosa succede a GROUP BY e alle funzioni di aggregazione come COUNT o SUM?
Diventano uno stage $group (con l'accumulatore corretto per ogni funzione) seguito da uno stage $project che ripristina i nomi delle colonne originali, il tutto all'interno di un pipeline di aggregazione.
Quali funzionalità SQL non sono supportate?
Le subquery, UNION e le espressioni CASE non hanno un equivalente diretto in MongoDB e producono un errore chiaro piuttosto che una query errata. HAVING è accettato ma eliminato con un avviso, poiché richiede un secondo stage $match che aggiungi tu stesso.
Posso ottenere una query JSON semplice invece di un comando mongosh?
Sì. Cambia "Output come" in query JSON per ottenere un documento di query (collection, operazione, filtro, ecc.) che puoi analizzare o incorporare nel tuo codice invece di una chiamata di shell.
Il mio SQL viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser; la tua query, i nomi delle tabelle e i dati non lasciano mai il tuo dispositivo.