Preskoči na vsebino
100% lokalno

SQL v MongoDB poizvedbo

Pretvori SQL SELECT ukaz v MongoDB find() klic ali agregacijski cevovod.

Vhod
Izhod

SQL v MongoDB poizvedbo

Prilepite SQL SELECT ukaz in to orodje ga pretvori v enakovredno MongoDB poizvedbo — bodisi mongosh klic, ki ga lahko zaženete v lupini, bodisi čisti JSON dokument poizvedbe za vašo lastno driver kodo. Prebere WHERE stavek, ORDER BY, LIMIT in OFFSET ter jih pretvori v MongoDB filter, sort, limit in skip, tako da "SELECT id, ime FROM uporabniki WHERE leta > 18 ORDER BY ime DESC LIMIT 10" postane pripravljen za zagon find() s primerjanimi filter in sort objekti.

Razume tudi agregacije. COUNT, SUM, AVG, MIN in MAX v listi SELECT v kombinaciji z GROUP BY ustvarijo $group etapo, ki ji sledi $project etapa, ki preimenuje grupirane _id polja nazaj v originalna imena stolpcev. JOIN postane $lookup plus $unwind etapa, ko je "Pretvori JOIN v $lookup" vključeno — izklopite ga in JOIN bo izpuščen, s pojasnilom, zakaj. "Pretvori imena stolpcev v camelCase" preoblikuje snake_case stolpce, kot je first_name, v firstName, kar je v skladu s tipičnim Mongoose poimenovanjem, in zamik je do vas.

Ne vsaka SQL konstrukcija ima čist MongoDB ekvivalent — podpoizvedbe, UNION, CASE izrazi in HAVING se ne preslikajo v posamezno poizvedbo ali cevovod. Namesto da tiho ustvarimo napačno poizvedbo, orodje prijavi jasno napako, ki imenuje nepodprto konstrukcijo, ali pa za stvari, ki jih je mogoče obiti (dodatni JOIN, izpuščeni HAVING, negrupirani SELECT stolpec), doda kratko opozorilno opombo nad generirano poizvedbo, ki pojasnjuje, kaj se je spremenilo.

Vse teče lokalno v vašem brskalniku: SQL se razčleni in pretvori v celoti na vašem naprav, in nobena poizvedba ali shema ne zapusti vaše naprave. Kopirajte rezultat, ga preuzmite kot .txt datoteko ali ga ponovno vnese v vnos, da nadaljujete s izpopolnjevanjem prvotne poizvedbe.

FAQ

Ali podpira JOIN?
Ena JOIN se pretvori v $lookup plus $unwind etapo v agregacijski cevovod, ko je "Pretvori JOIN v $lookup" vključeno. RIGHT JOIN se pretvori kot LEFT JOIN, dodatne JOIN-e pa se beleži kot ignorirane.
Kaj se zgodi z GROUP BY in funkcijami agregacije, kot sta COUNT ali SUM?
Postanejo $group etapa (s pravilnim akumulatorjem za vsako funkcijo), ki ji sledi $project etapa, ki vrne originalna imena stolpcev, vse znotraj agregacijskega cevovoda.
Katere SQL značilnosti niso podprte?
Podpoizvedbe, UNION in CASE izrazi nimajo direktnega MongoDB ekvivalenta in ustvarijo jasno napako namesto napačne poizvedbe. HAVING je sprejet, vendar izpuščen z opozorilom, ker zahteva drugo $match etapo, ki jo dodate sami.
Ali lahko dobim čist JSON poizvedbo namesto mongosh ukaza?
Da. Preklopite "Izpiši kot" v JSON poizvedbo, da dobite dokument poizvedbe (zbirka, operacija, filter itd.), ki ga lahko razčlanite ali vgradite v vašo lastno kodo namesto lupinskega klica.
Ali je moj SQL nekje naložen?
Ne. Pretvorba se v celoti izvede v vašem brskalniku — vaša poizvedba, imena tabel in podatki nikoli ne zapustijo vašo napravo.