Convertitore di Query da SQL a MongoDB
Converti query SQL (SELECT, INSERT, UPDATE, DELETE) nella sintassi della shell MongoDB con mappatura clausola per clausola, generazione di pipeline di aggregazione, evidenziazione della sintassi in tempo reale e output pronto per il copia-incolla in mongosh.
Il tuo ad blocker ci impedisce di mostrare annunci
MiniWebtool è gratuito grazie agli annunci. Se questo strumento ti è stato utile, sostienici con Premium (senza annunci + più veloce) oppure inserisci MiniWebtool.com nella whitelist e ricarica la pagina.
- Oppure passa a Premium (senza annunci)
- Consenti gli annunci per MiniWebtool.com, poi ricarica
Convertitore di Query da SQL a MongoDB
Benvenuti nel Convertitore di Query da SQL a MongoDB, uno strumento online che traduce query SQL — SELECT, INSERT, UPDATE e DELETE — in una sintassi pulita e pronta da incollare nella shell di MongoDB. Ogni conversione è accompagnata da una mappatura clausola per clausola che mostra esattamente come ogni parola chiave SQL diventa il suo equivalente MongoDB, rendendo questo strumento sia un convertitore che un ausilio didattico per gli sviluppatori che migrano dai database relazionali a MongoDB.
Perché usare questo convertitore da SQL a MongoDB?
La maggior parte dei convertitori online fornisce semplicemente un blocco JSON lasciandoti indovinare cosa sia successo. Questo strumento è diverso: vedi la query MongoDB generata e una mappatura passo-passo che spiega perché ogni clausola è stata trasformata in quel modo. Ciò lo rende ugualmente utile per traduzioni rapide durante le migrazioni e per imparare il linguaggio di query di MongoDB partendo dalle tue conoscenze SQL esistenti.
Caratteristiche Principali
- Quattro tipi di istruzioni: SELECT (find, distinct, countDocuments, aggregate), INSERT, UPDATE, DELETE — tutto in un unico strumento.
- Mappatura clausola per clausola: scopri come FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET si trasformano in operatori MongoDB.
- Pipeline di aggregazione automatiche: GROUP BY, HAVING e le funzioni di aggregazione producono pipeline aggregate([...]) corrette con fasi $match, $group, $sort, $limit nell'ordine corretto.
- Supporto WHERE completo: AND, OR, NOT, parentesi, IN, NOT IN, BETWEEN, LIKE, IS NULL, IS NOT NULL e tutti i sei operatori di confronto.
- Output con evidenziazione della sintassi: facile da leggere, da incollare direttamente in mongosh, MongoDB Compass o Studio 3T.
- Tabella degli operatori: scheda di riferimento sempre visibile con 24 mappature comuni SQL ↔ MongoDB.
- Esempi a caricamento rapido: nove esempi reali a portata di clic.
- Copia e scarica: copia negli appunti con un clic o salva come file .js.
- Ottimizzato per dispositivi mobili: il layout si adatta a telefoni e tablet — il pannello di mappatura si impila verticalmente sugli schermi stretti.
Quali istruzioni SQL possono essere tradotte in MongoDB da questo convertitore?
Lo strumento converte istruzioni SELECT, INSERT, UPDATE e DELETE. SELECT supporta WHERE, ORDER BY, GROUP BY, HAVING, LIMIT, OFFSET, DISTINCT e le cinque funzioni di aggregazione standard: COUNT, SUM, AVG, MIN e MAX. Le clausole WHERE complesse con AND, OR, NOT, IN, NOT IN, BETWEEN, LIKE, IS NULL e IS NOT NULL si mappano tutte chiaramente agli operatori MongoDB.
Come funziona la mappatura clausola per clausola?
Dopo ogni conversione, lo strumento mostra una tabella che allinea ogni clausola SQL con il suo equivalente MongoDB. Ad esempio:
MongoDB: db.users.find({ age: { $gt: 21 } }, { name: 1, age: 1, _id: 0 }).sort({ age: -1 }).limit(10)
Mappatura:
· FROM users → db.users
· SELECT name, age → proiezione { name: 1, age: 1, _id: 0 }
· WHERE age > 21 → filtro { age: { $gt: 21 } }
· ORDER BY age DESC → .sort({ age: -1 })
· LIMIT 10 → .limit(10)
Gestisce le pipeline di aggregazione per le query GROUP BY?
Sì. Quando l'SQL utilizza GROUP BY, HAVING o funzioni di aggregazione, il convertitore produce una pipeline di aggregazione MongoDB completa: $match prima del raggruppamento (da WHERE), $group con _id e accumulatori, $match dopo il raggruppamento (da HAVING), quindi $sort, $skip e $limit nell'ordine della pipeline. L'ordine è fondamentale — eseguire $sort prima di $match è molto più lento in MongoDB — quindi lo strumento emette sempre le fasi nell'ordine ottimale.
diventa:
db.books.aggregate([
{ $match: { year: { $gte: 2020 } } },
{ $group: { _id: "$category", total: { $sum: 1 } } },
{ $match: { total: { $gt: 5 } } },
{ $sort: { total: -1 } },
{ $limit: 5 }
])
Come vengono convertiti i pattern SQL LIKE?
I caratteri jolly SQL % diventano .* e i caratteri jolly _ diventano . in una espressione regolare MongoDB. I pattern sono ancorati con ^ o $ quando il pattern SQL non inizia o non termina con %. I caratteri regex speciali all'interno del pattern vengono scappati automaticamente.
- LIKE 'abc%' → /^abc.*/
- LIKE '%.com' → /.*\.com$/
- LIKE '%widget%' → /.*widget.*/
- LIKE 'a_c' → /^a.c$/
Quali sono le principali differenze tra le query SQL e MongoDB?
SQL è dichiarativo e orientato alle tabelle — descrivi righe e colonne. MongoDB è orientato ai documenti e usa un linguaggio di query simile a JSON. Le principali regole di traduzione:
- Tabelle → collezioni. FROM users diventa db.users.
- Righe → documenti. Una riga SQL con colonne name, age, email diventa un documento MongoDB con quegli stessi nomi di campo.
- WHERE → oggetto filtro. Il primo argomento di find() in MongoDB è un documento filtro, che utilizza operatori come $gt, $in, $and.
- Lista SELECT → proiezione. Il secondo argomento di find() specifica quali campi includere (1) o escludere (0). Il campo _id è incluso per impostazione predefinita a meno che non lo si imposti a 0.
- ORDER BY → .sort(), LIMIT → .limit(), OFFSET → .skip(). Questi diventano chiamate a metodi concatenati dopo find().
- GROUP BY → $group. Le aggregazioni che riducono molte righe a una sola vengono eseguite all'interno di una pipeline di aggregazione.
- JOIN → $lookup. Le join SQL si mappano alla fase $lookup nell'aggregazione. (Questo strumento si concentra attualmente su query a tabella singola; le join vengono visualizzate come suggerimento quando rilevate.)
La query MongoDB generata è pronta per essere incollata in mongosh?
Sì. L'output utilizza la sintassi di mongosh (MongoDB Shell), incluse chiavi degli oggetti non virgolettate, metodi a catena come .sort(), .limit() e .skip(), e letterali regex JavaScript nativi. Puoi incollarlo direttamente in mongosh, nella scheda MongoSH di MongoDB Compass o in IntelliShell di Studio 3T.
Come utilizzare questo strumento
- Incolla la tua query SQL nella casella di input, o clicca su un Esempio Rapido per caricare una query di prova.
- Clicca su Converti in MongoDB. Lo strumento analizza l'SQL e crea la query MongoDB equivalente.
- Rivedi la mappatura clausola per clausola per verificare la traduzione e imparare le regole di mappatura.
- Copia o scarica la query MongoDB usando i pulsanti sopra il blocco di codice. Il file scaricato è uno script .js pronto all'uso.
Casi d'uso pratici
Per sviluppatori che migrano a MongoDB
- Portare report SQL legacy in pipeline di aggregazione MongoDB.
- Tradurre query SQL da documentazione, risposte di Stack Overflow o guide alla progettazione di schemi.
- Generare query MongoDB di base da ottimizzare poi con indici e proiezioni.
Per studenti e apprendisti
- Comprendere la mappatura tra due lingue di query fondamentalmente diverse.
- Sviluppare intuito per il modello a documenti di MongoDB partendo dall'SQL già conosciuto.
- Usare la tabella degli operatori come riferimento rapido quando si scrivono query MongoDB da zero.
Per DBA e ingegneri backend
- Controllare rapidamente query MongoDB candidate durante la revisione delle pull request.
- Prototipare query durante le migrazioni di schemi prima di eseguirle sui dati di produzione.
- Condividere la mappatura delle clausole come materiale didattico con i membri junior del team.
Limitazioni e cosa non è ancora supportato
- JOIN — Gli equivalenti delle JOIN in MongoDB richiedono fasi $lookup con decisioni di progettazione sulle chiavi esterne che un convertitore statico non può sempre dedurre. Per ora, converti query a tabella singola e avvolgile manualmente in $lookup quando necessario.
- Sottoquery — Le sottoquery scalari e correlate non vengono analizzate. Prova a scomporle in due query separate.
- CTE / Clausole WITH — Non supportate; estrai prima la CTE in una query a sé stante.
- UNION / UNION ALL — Usa $unionWith manualmente.
- Window functions — Usa $setWindowFields in MongoDB 5.0+.
- Espressioni SET complesse — I valori UPDATE devono essere letterali; operazioni aritmetiche come SET x = x + 1 necessitano dell'operatore $inc di MongoDB, da aggiungere manualmente.
Domande Frequenti (FAQ)
Perché la mia query SELECT senza WHERE restituisce comunque un oggetto filtro?
Il metodo find() di MongoDB si aspetta un filtro come primo argomento. Quando l'SQL non ha una clausola WHERE, lo strumento emette find({}) — un filtro vuoto che corrisponde a tutti i documenti.
Perché _id: 0 viene aggiunto alla mia proiezione?
MongoDB include il campo _id per impostazione predefinita nei risultati delle query. Per corrispondere al comportamento di SELECT in SQL, dove vengono restituite solo le colonne elencate, lo strumento aggiunge _id: 0 a meno che non si elenchi esplicitamente _id come colonna.
Dovrei usare updateOne o updateMany per la mia query UPDATE?
Lo strumento emette updateMany per impostazione predefinita, che corrisponde alla semantica multi-riga di UPDATE in SQL. Passa a updateOne quando sei certo che il filtro corrisponda a un singolo documento (ad esempio, filtrando per un _id univoco).
Lo strumento memorizza o invia il mio SQL altrove?
Il tuo SQL viene inviato al nostro server per l'analisi, restituito come MongoDB convertito e poi scartato. Non viene loggato, memorizzato o condiviso con terze parti.
Lo strumento è gratuito?
Sì, è completamente gratuito e utilizzabile senza un account. Ricarica la pagina per ricominciare in qualsiasi momento.
Come gestisce i tipi nativi di MongoDB come ObjectId e Date?
I letterali stringa SQL diventano stringhe MongoDB per impostazione predefinita. Se la tua colonna memorizza un ObjectId, avvolgi manualmente il letterale in ObjectId("..."). Per i campi data, avvolgi il letterale in ISODate("..."). Entrambe le sostituzioni richiedono un secondo di modifica dopo l'incollaggio.
Risorse Aggiuntive
- Riferimento ufficiale per il confronto SQL di MongoDB
- Operatori di Query MongoDB
- Guida alla Pipeline di Aggregazione MongoDB
- SQL - Wikipedia
- MongoDB - Wikipedia
Cita questo contenuto, pagina o strumento come:
"Convertitore di Query da SQL a MongoDB" su https://MiniWebtool.com/it/convertitore-di-query-da-sql-a-mongodb/ di MiniWebtool, https://MiniWebtool.com/
dal team di miniwebtool. Aggiornato: 25 apr 2026
Altri strumenti correlati:
Altri strumenti testuali:
- Generatore di anagrammi
- Convertitore di Lettura Bionica Nuovo
- Confronta due stringhe In Primo Piano
- Trova la linea più lunga
- Rilevatore di lingue con IA In Primo Piano
- Processore di Linee di Testo
- Validatore XML In Primo Piano
- Lettore di sintesi vocale Nuovo
- Estrattore di Colonne di Testo Nuovo
- Convertitore JSON in YAML Nuovo
- Tester Regex Nuovo
- Confronto Differenze Nuovo
- Convertitore da CSV a JSON Nuovo
- Convertitore Immagine in Base64 Nuovo
- Tester API Nuovo
- Tabella ASCII Nuovo
- Tester Webhook Nuovo
- Generatore di Titoli per Blog AI Nuovo
- Generatore di Hashtag AI Nuovo
- Generatore di Slogan AI Nuovo
- Generatore di Scalette per Articoli con IA Nuovo
- Blocco Note Online Nuovo
- Convertitore da TOML a JSON Nuovo
- Convertitore da JSON a CSV Nuovo
- Convertitore da XML a JSON Nuovo
- Convertitore di Query da SQL a MongoDB Nuovo