Ugrás a tartalomhoz
100% helyi

SQL MongoDB-lekérdezésre

SQL SELECT utasítást konvertálja MongoDB find() hívássá vagy aggregációs pipeline-ná, szűrőkkel, rendezéssel és JOIN átalakítással.

Bemenet
Kimenet

SQL MongoDB-lekérdezésre

Illessze be a SQL SELECT utasítást, és ez az eszköz az ekvivalens MongoDB lekérdezésre konvertálja — akár egy mongosh metódushívássá, amit futtathat a parancssorban, akár egy egyszerű JSON lekérdezés dokumentummá a saját illesztőprogramkódjához. Beolvassa a WHERE záradékot, az ORDER BY, LIMIT és OFFSET utasításokat, és MongoDB filterké, sortivá, limitvé és skip-vé alakítja őket, így a "SELECT id, name FROM users WHERE age > 18 ORDER BY name DESC LIMIT 10" egy futtatható find() hívássá válik a megfelelő filter és sort objektumokkal.

Megérti az aggregációkat is. Az SELECT listában szereplő COUNT, SUM, AVG, MIN és MAX a GROUP BY-val kombinálva egy $group szakaszt hoz létre, ezt követi egy $project szakasz, amely átnevezi a csoportosított _id mezőket az eredeti oszlopnevekre. A JOIN egy $lookup és $unwind szakasszá válik, ha a "JOIN konvertálása $lookup-ra" bekapcsolt — kapcsolja ki, és a JOIN helyett egy jegyzet jelenik meg, amely elmagyarázza, miért. A "Oszlopneveket camelCase-re konvertálni" átalakítja a snake_case oszlopokat, mint a first_name, firstName-vé, ami a tipikus Mongoose elnevezésnek felel meg, és a behúzás szabályozható.

Nem minden SQL konstrukciónak van tiszta MongoDB megfelelője — az alkérdezések, UNION, CASE kifejezések és HAVING nem képeznek le egyetlen lekérdezésre vagy pipeline-ra. Ahelyett, hogy csendesen egy rossz lekérdezést adna vissza, az eszköz egy egyértelmű hibaüzenetet közöl, amely megnevezi a nem támogatott konstrukciót, vagy a megkerülhető dolgokra (további JOIN, eldobott HAVING, csoportosítás nélküli SELECT oszlop) egy rövid figyelmeztetési megjegyzést ad a generált lekérdezés fölé, amely megmagyarázza, mi változott.

Minden helyileg fut a böngészőjében: az SQL teljes egészében az eszközön értelmezésre és átalakításra kerül, és a lekérdezés vagy séma soha nem hagyja el az eszközt. Másolja ki az eredményt, töltse le .txt fájlként, vagy küldje vissza a bevitelbe az eredeti lekérdezés további finomításához.

Gyakori kérdések

Támogatja a JOIN-okat?
Egy JOIN a $lookup és $unwind szakaszra konvertálódik egy aggregációs pipeline-ban, ha a "JOIN konvertálása $lookup-ra" bekapcsolt. A RIGHT JOIN a LEFT JOIN-ként konvertálódik, és az elsőt követő további JOIN-ok figyelmen kívül hagyottként jelölődnek meg.
Mi történik a GROUP BY-val és az összesítő függvényekkel, mint a COUNT vagy SUM?
Egy $group szakasszá válnak (minden függvényhez a megfelelő gyűjtővel), amelyet egy $project szakasz követ, amely helyreállítja az eredeti oszlopneveket, mindez egy aggregációs pipeline-ban.
Mely SQL funkciók nem támogatottak?
Az alkérdezéseknek, UNION-nak és CASE kifejezéseknek nincs közvetlen MongoDB megfelelője, és egy világos hiba helyett hibás lekérdezést adnak vissza. A HAVING elfogadható, de figyelmeztetéssel elvész, mivel szüksége van egy második $match szakaszra, amelyet Ön maga ad hozzá.
Kapható-e egyszerű JSON lekérdezés a mongosh parancs helyett?
Igen. Változtassa meg a "Kimenet formátuma" beállítást JSON lekérdezésre, hogy egy lekérdezés dokumentumot kapjon (gyűjtemény, művelet, filter stb.), amelyet elemezhet vagy beágyazhat a saját kódjába a parancssor-hívás helyett.
Az SQL feltöltésre kerül valahova?
Nem. Az átalakítás teljes egészében a böngészőjében történik — a lekérdezés, a táblanevek és az adatok soha nem hagyják el az eszközt.