SQL till NoSQL
Klistra in en enda SQL-SELECT-sats så skriver konverteraren om den till en likvärdig MongoDB-find()-fråga. Den mappar de valda kolumnerna till en projektion, WHERE-satsen till ett filter, ORDER BY till .sort() och LIMIT till .limit(). Det är en frågeomskrivare för enkla satser, inte ett migreringsverktyg: JOIN, GROUP BY, aggregeringar och underfrågor stöds inte.
Så fungerar konverteringen
-
1
Tolka SELECT:en
Verktyget läser en enda sats på formen `SELECT kolumner FROM tabell [WHERE ...] [ORDER BY ...] [LIMIT n]`.
-
2
Mappa varje sats
Kolumner blir en projektion `{ col: 1 }`, `WHERE` blir ett filter, `ORDER BY` blir `.sort()` och `LIMIT` blir `.limit()`.
-
3
Översätt operatorerna
Jämförelseoperatorer mappas till Mongo-operatorer: `>` till `$gt`, `<` till `$lt`, `>=` till `$gte`, `<=` till `$lte`, `!=` till `$ne`, och `=` till en direkt matchning.
-
4
Kopiera utdatan
Den genererade raden `db.collection.find(...)` är redo att klistra in i mongosh-skalet eller ett driver-anrop.
Ett genomarbetat exempel
SQL:
SELECT name, price FROM products WHERE price > 100 ORDER BY price DESC LIMIT 5;
MongoDB-fråga:
db.products.find({ price: { $gt: 100 } }, { name: 1, price: 1 }).sort({ price: -1 }).limit(5)
Vad konverteraren mappar
| SQL | MongoDB find() |
|---|---|
SELECT a, b |
projektion { a: 1, b: 1 } |
SELECT * |
alla fält (tom projektion) |
FROM users |
db.users.find(...) |
WHERE a = 5 |
{ a: 5 } |
WHERE a > 5 |
{ a: { $gt: 5 } } |
WHERE a >= 5 |
{ a: { $gte: 5 } } |
WHERE a != 5 |
{ a: { $ne: 5 } } |
WHERE a AND b |
{ a: ..., b: ... } |
WHERE a OR b |
{ $or: [ ... ] } |
ORDER BY a DESC |
.sort({ a: -1 }) |
LIMIT 10 |
.limit(10) |
Vad som inte stöds
- JOIN:s. Endast en enda tabell läses. Att kombinera kollektioner kräver
$lookupeller en denormaliserad datamodell, vilket är ett schemabeslut, inte en frågeomskrivning. - GROUP BY och aggregeringar.
COUNT,SUM,AVGochGROUP BYkräver aggregeringspipelinen (db.collection.aggregate([...])), som det här verktyget inte genererar. - Underfrågor, CTE:er och fönsterfunktioner. Tänk om modellen eller dela upp arbetet i steg; de kan inte uttryckas i en
find(). - IN, LIKE och BETWEEN.
WHERE-tolken hanterar endast jämförelseoperatorerna=,>,<,>=,<=,!=och<>. - Blanda AND och OR. En
WHERE-sats behandlas som heltANDeller heltOR; kombinera inte båda i samma sats. - INSERT, UPDATE, DELETE, CREATE TABLE. Endast
SELECTkonverteras.
Om utdatan
Resultatet är alltid en enda rad db.collection.find(filter, projektion), eventuellt följd av .sort() och .limit(). Den riktar sig till MongoDB-skalet och drivrutinerna. Den producerar inga Firestore- eller Elasticsearch-frågor, och den väljer inga index och optimerar inte prestandan. Testa frågan mot dina egna data innan du förlitar dig på den.
Vanliga frågor
Nej. Utdatan är alltid en MongoDB-find()-fråga för mongosh-skalet eller en drivrutin. Det finns inget målval för andra dokumentlager.
Nej. Det kräver MongoDB:s aggregeringspipeline (aggregate([...])), som det här verktyget inte genererar. Det producerar endast find()-frågor med filter, projektion, sortering och gräns.
Nej. Endast en enda FROM-tabell läses. NoSQL-lager föredrar inbäddning eller referenser, så en JOIN innebär oftast en ändring av datamodellen, inte en frågeomskrivning.
Nej. Endast SELECT-satser konverteras. Kollektioner i MongoDB är schemalösa som standard, så det finns ingen tabelldefinition att översätta.
Relaterade verktyg
OpenAPI-validerare
Klistra in ett OpenAPI- eller Swagger-dokument i JSON eller YAML och kontrollera dess kärnstruktur: versionsfält, info-objekt och paths, med tydliga fel och varningar.
Webpack-konfigurationsgenerator
Skapa en webpack.config.js för webpack 5 med vanlig JavaScript, React eller Vue: TypeScript, Babel, CSS eller Sass, bilder, HtmlWebpackPlugin, en utvecklingsserver och raden för npm install.
CSS-laddningsgenerator
Skapa en cirkulär spinnare i ren CSS: ställ in diameter, kanttjocklek, accentfärg och rotationshastighet, förhandsvisa direkt och kopiera den färdiga CSS-koden. Ingen SVG, ingen JavaScript.
PHP-formaterare
Lägg till radbrytningar och indrag med 2 eller 4 blanksteg i ett enkelt PHP-kodstycke. Granska resultatet: detta är varken en PHP-parser eller en PSR-12-korrigerare.
Protocol Buffers-avkodare
Avkoda Protobuf-byte lokalt från hex, Base64, Base64URL, text eller fil, granska fälttolkningar och exportera en privat rapport.
XSD-validerare
Validera ett XML-dokument mot ett XSD-schema och rapportera element- och typavvikelser med exakta radnummer.
Verktyget finns på andra språk
- Dari SQL ke NoSQL [ID]
- SQL na NoSQL [PL]
- SQL para NoSQL [PT]
- SQL zu NoSQL [DE]
- من SQL إلى NoSQL [AR]
- SQL → NoSQL [KO]
- การแปลง SQL เป็น NoSQL [TH]
- Từ SQL sang NoSQL [VI]
- SQL から NoSQL へ [JA]
- SQL a NoSQL [ES]
- SQL vers NoSQL [FR]
- SQL naar NoSQL [NL]
- 从 SQL 到 NoSQL [ZH]
- SQL to NoSQL [EN]
- SQL a NoSQL [IT]
- SQL в NoSQL [RU]
- SQL'den NoSQL'e [TR]