Sări la conținut
Complet local

Interogare SQL la MongoDB

Convertiți o instrucțiune SQL SELECT într-un apel MongoDB find() sau pipeline de agregare.

Intrare
Ieșire

Interogare SQL la MongoDB

Lipiți o instrucțiune SQL SELECT și acest instrument o convertește în interogarea MongoDB echivalentă — un apel de metoda mongosh pe care îl puteți executa în shell, sau un document de interogare JSON pur pentru codul driverului dumneavoastră. Citește clauza WHERE, ORDER BY, LIMIT și OFFSET și le convertește într-un filtru MongoDB, sort, limit și skip, deci "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" devine un find() gata de utilizare cu obiecte de filtru și sort corespunzătoare.

Înțelege și agregarea. COUNT, SUM, AVG, MIN și MAX din lista SELECT combinată cu GROUP BY produc o etapă $group urmată de o etapă $project care redenumește câmpurile _id grupate înapoi în coloanele lor originale. Un JOIN devine o etapă $lookup plus $unwind când "Convertiți JOIN în $lookup" este activat — dezactivați-l și join-ul va fi eliminat, cu o notă explicând de ce. "Convertiți numele coloanelor în camelCase" reformatează coloanele snake_case cum ar fi first_name în firstName, corespondând cu denumirile tipice din Mongoose, iar indentarea este a dumneavoastră de setat.

Nu orice construcție SQL are un echivalent MongoDB curat — subconsultele, UNION, expresiile CASE și HAVING nu se mapează la o interogare unică sau pipeline. În loc să producă în tăcere o interogare greșită, instrumentul raportează o eroare clară numind construcția nesuportată, sau, pentru lucrurile pe care le poate ocoli (un JOIN suplimentar, un HAVING aruncat, o coloană SELECT negrupată), adaugă un comentariu de avertisment scurt deasupra interogării generate explicând ce s-a schimbat.

Tot rulează local în browserul dumneavoastră: SQL-ul este analizat și convertit în întregime pe dispozitivul dumneavoastră, iar nicio interogare sau schemă nu o părăsește niciodată. Copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteți-l înapoi în intrare pentru a continua perfecționarea interogării originale.

FAQ

Suportă JOINs?
Un singur JOIN se convertește într-o etapă $lookup plus $unwind într-un pipeline de agregare când "Convertiți JOIN în $lookup" este activat. RIGHT JOIN este convertit ca LEFT JOIN, iar JOINs-urile suplimentare dincolo de primul sunt notate ca ignorate.
Ce se întâmplă cu GROUP BY și funcțiile de agregare cum ar fi COUNT sau SUM?
Devin o etapă $group (cu acumulatorul corect pentru fiecare funcție) urmată de o etapă $project care restaurează numele coloanelor originale, totul într-un pipeline de agregare.
Ce caracteristici SQL nu sunt acceptate?
Subconsultele, UNION și expresiile CASE nu au echivalent direct în MongoDB și produc o eroare clară în loc o interogare incorectă. HAVING este acceptat dar aruncat cu un avertisment, deoarece are nevoie de o a doua etapă $match pe care o adăugați.
Pot obține o interogare JSON pură în loc de o comandă mongosh?
Da. Schimbați "Exportă ca" la interogare JSON pentru a obține un document de interogare (colecție, operație, filtru, etc.) pe care îl puteți analiza sau încorpora în codul dumneavoastră în loc de un apel de shell.
SQL-ul meu este încărcat undeva?
Nu. Conversiunea rulează în întregime în browserul dumneavoastră — interogarea dumneavoastră, numele tabelelor și datele nu parasesc niciodată dispozitivul dumneavoastră.