SQL zu MongoDB Abfrage
Eine SQL SELECT-Anweisung in einen MongoDB find() Aufruf oder eine Aggregations-Pipeline konvertieren.
SQL zu MongoDB Abfrage
Geben Sie eine SQL SELECT-Anweisung ein und dieses Tool konvertiert sie in die entsprechende MongoDB-Abfrage – entweder einen mongosh-Methodenaufruf, den Sie in der Shell ausführen können, oder ein JSON-Abfragedokument für Ihren eigenen Treibercode. Es liest die WHERE-Klausel, ORDER BY, LIMIT und OFFSET und konvertiert diese in einen MongoDB-Filter, eine Sortierung, Limit und Skip, sodass "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" zu einem einsatzbereiten find() mit den entsprechenden Filter- und Sortierobjekten wird.
Es versteht auch Aggregationen. COUNT, SUM, AVG, MIN und MAX in der SELECT-Liste kombiniert mit GROUP BY erzeugen eine $group-Stufe gefolgt von einer $project-Stufe, die die gruppierten _id-Felder zurück in ihre ursprünglichen Spalten umbenennt. Ein JOIN wird zu einer $lookup plus $unwind-Stufe, wenn "$lookup in JOIN konvertieren" aktiviert ist – deaktivieren Sie es und der Join wird stattdessen gelöscht, mit einer Notiz, die erklärt, warum. "Spaltennamen zu camelCase konvertieren" wandelt snake_case-Spalten wie first_name in firstName um, was der typischen Mongoose-Benennung entspricht, und die Einrückung können Sie selbst festlegen.
Nicht jedes SQL-Konstrukt hat ein sauberes MongoDB-Äquivalent – Unterabfragen, UNION, CASE-Ausdrücke und HAVING lassen sich nicht auf eine einzelne Abfrage oder Pipeline abbilden. Anstatt stillschweigend eine fehlerhafte Abfrage zu erzeugen, meldet das Tool einen klaren Fehler, der das nicht unterstützte Konstrukt benennt, oder fügt bei Dingen, die es umgehen kann (ein zusätzlicher JOIN, ein gelöschtes HAVING, eine nicht gruppierte SELECT-Spalte), einen kurzen Warnungskommentar über der generierten Abfrage hinzu, der erklärt, was sich geändert hat.
Alles läuft lokal in Ihrem Browser ab: die SQL wird vollständig auf Ihrem Gerät geparst und konvertiert, und keine Abfrage oder Schema verlässt es jemals. Kopieren Sie das Ergebnis, laden Sie es als .txt-Datei herunter oder geben Sie es zurück in die Eingabe, um die ursprüngliche Abfrage weiter zu verfeinern.