मुफ़्त SQL से MongoDB कन्वर्टर

सहज डेटाबेस माइग्रेशन और उपयोग के लिए SQL क्वेरी को MongoDB क्वेरी सिंटैक्स में बदलें। मुफ़्त, तेज़ और पूरी तरह आपके ब्राउज़र में काम करता है, बिना साइन-अप के।

अपडेट किया गया

Share:
Home/Developer Tools/SQL to MongoDB Converter

SQL to MongoDB Converter

Convert SQL queries to MongoDB query syntax. Supports SELECT, INSERT, UPDATE, DELETE, JOINs, GROUP BY, and aggregations.

SQL Query

MongoDB Query
find()

db.users.find({ $and: [{ age: { $gt: 25 } }, { status: "active" }] }).sort({ name: 1 }).limit(10)

SQL to MongoDB Mapping Reference

Queries

  • SELECT → find()
  • SELECT DISTINCT → distinct()
  • INSERT → insertOne/Many()
  • UPDATE → updateOne/Many()
  • DELETE → deleteOne/Many()

Operators

  • = → : (equality)
  • > / < → $gt / $lt
  • LIKE → $regex
  • IN → $in
  • BETWEEN → $gte + $lte

Aggregation

  • GROUP BY → $group
  • HAVING → $match (after)
  • COUNT → $sum: 1
  • SUM/AVG → $sum/$avg
  • JOIN → $lookup

Clauses

  • WHERE → filter / $match
  • ORDER BY → sort() / $sort
  • LIMIT → limit() / $limit
  • OFFSET → skip() / $skip
  • AND/OR → $and/$or

अक्सर पूछे जाने वाले प्रश्न

SQL to MongoDB क्या है?

SQL to MongoDB एक मुफ़्त ऑनलाइन टूल है जो SQL क्वेरीज़ को समतुल्य MongoDB क्वेरी सिंटैक्स में बदलता है, जिससे डेवलपर्स को डेटाबेस के बीच बदलाव करने में मदद मिलती है।

क्या SQL to MongoDB मुफ़्त है?

हाँ, यह पूरी तरह मुफ़्त है और इसके लिए किसी पंजीकरण की आवश्यकता नहीं है। पूरी कन्वर्शन आपके ब्राउज़र में क्लाइंट-साइड पर होती है।

यह किन SQL ऑपरेशनों का समर्थन करता है?

SQL to MongoDB, SELECT, INSERT, UPDATE और DELETE क्वेरीज़ का समर्थन करता है और उन्हें उनके MongoDB समतुल्यों में बदल देता है, जिनमें find, insertOne, updateMany और deleteMany शामिल हैं।

क्या इस टूल के साथ मेरा डेटा सुरक्षित है?

बिल्कुल। SQL to MongoDB Converter सब कुछ आपके ब्राउज़र में क्लाइंट-साइड पर प्रोसेस करता है। कोई भी डेटा किसी सर्वर पर अपलोड या संग्रहीत नहीं किया जाता। आपका कंटेंट हर समय आपके डिवाइस पर निजी रहता है।

क्या SQL to MongoDB Converter मोबाइल उपकरणों पर काम करता है?

हाँ, SQL to MongoDB Converter पूरी तरह रिस्पॉन्सिव है और स्मार्टफ़ोन व टैबलेट पर काम करता है। आप इसे आधुनिक वेब ब्राउज़र वाले किसी भी डिवाइस पर इस्तेमाल कर सकते हैं, किसी ऐप को डाउनलोड करने की ज़रूरत नहीं।

क्या इस टूल का उपयोग करने के लिए मुझे खाता बनाना होगा?

किसी खाते या पंजीकरण की आवश्यकता नहीं है। बस अपने ब्राउज़र में SQL to MongoDB Converter खोलें और तुरंत इस्तेमाल शुरू करें। कोई साइन-अप बाधा या उपयोग प्रतिबंध नहीं है।

यह किन प्रोग्रामिंग भाषाओं या प्रारूपों का समर्थन करता है?

SQL to MongoDB Converter कई लोकप्रिय प्रारूपों और भाषाओं का समर्थन करता है। समर्थित विकल्पों की पूरी सूची के लिए टूल का इंटरफ़ेस देखें।

मैं SQL to MongoDB Converter का उपयोग कैसे करूँ?

बस दिए गए फ़ील्ड में अपना इनपुट दर्ज करें, अपनी पसंद के अनुसार सेटिंग्स समायोजित करें, और टूल इसे तुरंत प्रोसेस कर देगा। फिर आप परिणाम को क्लिपबोर्ड पर कॉपी कर सकते हैं या डाउनलोड कर सकते हैं।

कौन-कौन से ब्राउज़र समर्थित हैं?

SQL to MongoDB Converter सभी आधुनिक ब्राउज़रों में काम करता है, जिनमें Chrome, Firefox, Safari, Edge और Opera शामिल हैं। सर्वोत्तम अनुभव के लिए अपने पसंदीदा ब्राउज़र के नवीनतम संस्करण का उपयोग करें।

SQL का WHERE क्लॉज़ MongoDB में कैसे मैप होता है?

SQL का WHERE क्लॉज़ वह फ़िल्टर ऑब्जेक्ट बन जाता है जो MongoDB find() को पास करता है, या जब क्वेरी को aggregation pipeline की ज़रूरत होती है तो यह $match स्टेज बन जाता है। यह कन्वर्टर आपकी कंडीशन्स को एक-एक करके पार्स करता है और हर ऑपरेटर को ट्रांसलेट करता है: = सीधा key-value पेयर बन जाता है, जबकि >, <, >=, और <=, $gt, $lt, $gte, और $lte बन जाते हैं, और != या <>, $ne बन जाता है। AND से जुड़ी कई कंडीशन्स $and में लिपट जाती हैं, और OR से जुड़ी कंडीशन्स $or में, जिससे बूलियन लॉजिक बना रहता है। खास predicates भी हैंडल होते हैं: IN और NOT IN, $in और $nin में मैप होते हैं, BETWEEN x AND y एक $gte/$lte रेंज बन जाता है, और IS NULL तथा IS NOT NULL, null और $ne: null में मैप होते हैं। ऊपर अपनी WHERE-फ़िल्टर वाली SELECT पेस्ट करें और देखें कि यह ठीक कौन-सा फ़िल्टर डॉक्युमेंट तैयार करता है।

SQL का LIKE पैटर्न MongoDB में कैसे कन्वर्ट होता है?

MongoDB में LIKE ऑपरेटर नहीं होता, इसलिए यह टूल LIKE को $options: "i" फ्लैग वाले केस-इनसेंसिटिव $regex में कन्वर्ट करता है। असली बात यह है कि यह SQL के वाइल्डकार्ड % को कैसे हैंडल करता है: 'John%' जैसा prefix पैटर्न रेगेक्स को शुरुआत में एंकर करता है (^John), '%son' जैसा suffix पैटर्न इसे अंत में एंकर करता है (son$), और '%admin%' जैसा contains पैटर्न दोनों एंकर हटा देता है ताकि यह स्ट्रिंग में कहीं भी मैच कर सके। SQL का सिंगल-कैरेक्टर वाइल्डकार्ड _ रेगेक्स के dot में ट्रांसलेट होता है। NOT LIKE को उसी रेगेक्स के चारों ओर $not में लपेट दिया जाता है ताकि मैच नेगेट हो जाए। चूंकि बड़े कलेक्शन्स पर रेगेक्स मैचिंग exact lookups से धीमी हो सकती है, इसलिए एंकर्ड prefix पैटर्न्स को सबसे इंडेक्स-फ्रेंडली मानें। असली पैटर्न कन्वर्जन देखने के लिए टूल में "SELECT with LIKE" सैंपल क्वेरी आज़माएं।

कन्वर्टर SQL के JOINs को MongoDB में कैसे हैंडल करता है?

MongoDB, SQL की तरह टेबल्स को जॉइन नहीं करता, इसलिए यह कन्वर्टर JOIN को $lookup पर बनी एक aggregation pipeline में फिर से लिखता है। यह आपकी FROM टेबल, जॉइन की गई टेबल, और ON equality कंडीशन को पढ़ता है, फिर एक $lookup स्टेज तैयार करता है जो दूसरे कलेक्शन से मैचिंग डॉक्युमेंट्स लाता है, उसके बाद एक $unwind स्टेज जॉइन किए गए ऐरे को अलग-अलग डॉक्युमेंट्स में फ्लैट कर देता है। एक सिंगल ON equality वाले INNER और LEFT जॉइन्स सपोर्टेड हैं। कोई भी WHERE कंडीशन $match स्टेज में शामिल कर ली जाती है, ORDER BY, $sort बन जाता है, LIMIT, $limit बन जाता है, और चुनी गई कॉलम लिस्ट $project स्टेज बन जाती है, यह सब सही पाइपलाइन क्रम में रखा जाता है। आउटपुट को Aggregation बैज से लेबल किया जाता है ताकि मल्टी-स्टेज संरचना साफ दिखे। चूंकि document मॉडलिंग अक्सर जॉइन्स की जगह ही ले लेती है, इसलिए यह ज़रूर देखें कि क्या embedding आपके स्कीमा के लिए बेहतर होगी, फिर प्रयोग करने के लिए JOIN सैंपल लोड करें।

SQL के GROUP BY और aggregate फंक्शन्स MongoDB में कैसे ट्रांसलेट होते हैं?

GROUP BY क्वेरीज़ को $group स्टेज वाले aggregate() कॉल में कन्वर्ट किया जाता है। जिन कॉलम्स से आप ग्रुप करते हैं वे उस स्टेज का _id बन जाते हैं (एक कॉलम के लिए सिंगल फ़ील्ड, या कई के लिए एक कंपाउंड ऑब्जेक्ट), और आपके aggregate फंक्शन्स सीधे MongoDB accumulators में मैप होते हैं: COUNT(*), $sum: 1 बन जाता है, SUM, $sum बन जाता है, AVG, $avg बन जाता है, और MIN तथा MAX, $min और $max बन जाते हैं। AS से लिखे गए कॉलम एलियास आउटपुट फ़ील्ड नामों के रूप में आगे कैरी होते हैं। WHERE क्लॉज़ को $group से पहले एक $match स्टेज में रखा जाता है, और HAVING क्लॉज़ $group के बाद दूसरा $match बन जाता है, जो SQL के 'aggregate के बाद फ़िल्टर' वाले क्रम को दोहराता है। ORDER BY और LIMIT को $sort और $limit स्टेजेस के रूप में जोड़ा जाता है। एलियास और HAVING पाइपलाइन में कैसे दिखते हैं यह देखने के लिए "GROUP BY with SUM" सैंपल आज़माएं।

Shell, Node.js, और Python आउटपुट फॉर्मैट्स में क्या अंतर है?

आउटपुट पैनल एक ही कन्वर्ट की गई क्वेरी को एक टैब स्विच के ज़रिए तीन फॉर्मैट्स में देता है, ताकि आप अपने एनवायरनमेंट से मेल खाने वाला कोड कॉपी कर सकें। Shell आपको db.users.find({ age: { $gt: 25 } }) जैसा raw mongosh सिंटैक्स देता है, जो सीधे Mongo shell या Compass में पेस्ट करने के लिए आदर्श है। Node.js नतीजे को आधिकारिक mongodb ड्राइवर का इस्तेमाल करने वाले एक चलाने-योग्य स्कैफोल्ड में लपेटता है, जिसमें MongoClient सेटअप, आपके MONGODB_URI एनवायरनमेंट वेरिएबल से कनेक्शन, और मैचिंग कलेक्शन मेथड कॉल शामिल होता है। Python, PyMongo का इस्तेमाल करते हुए एक समकक्ष स्कैफोल्ड तैयार करता है, जो मेथड नामों को insert_one और update_many जैसे snake_case में कन्वर्ट करता है। ये स्कैफोल्ड्स शुरुआती टेम्पलेट्स हैं, इसलिए चलाने से पहले आपको डेटाबेस नाम और अंतिम फ़िल्टर खुद भरना होगा। ज़रूरत का टैब चुनें, फिर फॉर्मैटेड कोड को अपने क्लिपबोर्ड पर लाने के लिए Copy पर क्लिक करें।

संबंधित टूल

SQL to MongoDB Converter के बारे में

SQL to MongoDB Converter टाइप करते ही relational SQL स्टेटमेंट्स को उसी के बराबर MongoDB क्वेरी सिंटैक्स में बदल देता है। कोई भी SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, या ALTER TABLE स्टेटमेंट पेस्ट करें और यह मिलता-जुलता MongoDB कॉल तैयार कर देता है -- एक find() फ़िल्टर, एक insertMany(), $set वाला updateMany(), एक aggregation pipeline, और भी बहुत कुछ। यह उन डेवलपर्स और डेटा टीमों के लिए बनाया गया है जो MySQL, PostgreSQL, या SQL Server से MongoDB की ओर शिफ्ट हो रहे हैं, जो पहले से ही SQL में सोचते हैं और यह देखना चाहते हैं कि एक जानी-पहचानी क्वेरी document डेटाबेस पर कैसे मैप होती है।

सब कुछ आपके ब्राउज़र में ही चलता है। Parsing और conversion आपकी डिवाइस पर लोकली होते हैं, इसलिए आपके द्वारा पेस्ट किया गया SQL -- असली table और column नामों वाली क्वेरीज़ सहित -- कभी किसी सर्वर पर अपलोड नहीं होता। यहां न कोई साइन-अप है, न क्वेरी लिमिट, न ही कुछ इंस्टॉल करने की ज़रूरत है।

यह क्या-क्या कन्वर्ट करता है

कन्वर्टर स्टेटमेंट के टाइप को पहचानकर उसे सही MongoDB मेथड की ओर रूट करता है:

  • SELECT एक फ़िल्टर और प्रोजेक्शन के साथ find() बन जाता है। कॉलम लिस्ट प्रोजेक्शन ऑब्जेक्ट्स में बदल जाती है, और * पूरे डॉक्युमेंट्स रिटर्न करता है।
  • SELECT DISTINCT चुने गए फ़ील्ड पर distinct() बन जाता है।
  • INSERT एक सिंगल रो के लिए insertOne() या कई VALUES ट्यूपल्स के लिए insertMany() बन जाता है।
  • UPDATE, $set ऑपरेटर में लिपटा हुआ updateMany() बन जाता है।
  • DELETE, deleteMany() बन जाता है।
  • CREATE TABLE, $jsonSchema validator के साथ createCollection() बन जाता है, जो SQL टाइप्स (INT, DECIMAL, BOOLEAN, DATE, JSON) को BSON टाइप्स में मैप करता है और NOT NULL कॉलम्स को required के रूप में चिह्नित करता है।
  • ALTER TABLE, ADD, DROP, और RENAME COLUMN को क्रमशः $set, $unset, और $rename अपडेट्स में मैप करता है।

क्लॉज़ और ऑपरेटर्स कैसे मैप होते हैं

WHERE क्लॉज़ को कंडीशन-दर-कंडीशन पार्स किया जाता है और $and या $or से जोड़ा जाता है। सपोर्टेड ऑपरेटर्स में comparisons (=, >, <, >=, <=, !=/<>) शामिल हैं, साथ ही:

  • LIKE को केस-इनसेंसिटिव $regex में बदला जाता है, जहां % को prefix ('John%'), suffix ('%son'), और contains पैटर्न्स के लिए सही तरीके से एंकर किया जाता है; NOT LIKE में $not का इस्तेमाल होता है।
  • IN और NOT IN, $in और $nin बन जाते हैं।
  • BETWEEN x AND y, $gte/$lte रेंज बन जाता है।
  • IS NULL और IS NOT NULL, null और $ne: null बन जाते हैं।

ORDER BY, sort() में मैप होता है (ascending के लिए 1, DESC के लिए -1), LIMIT, limit() में, और OFFSET/SKIP, skip() में मैप होता है।

Aggregations और JOINs

जहां SQL ग्रुपिंग और जॉइनिंग के लिए इंजन पर निर्भर करता है, वहीं MongoDB एक aggregation pipeline का इस्तेमाल करता है, और कन्वर्टर आपके लिए वह पाइपलाइन खुद बना देता है:

  • GROUP BY, $group स्टेज के साथ एक aggregate() कॉल तैयार करता है। Aggregate फंक्शन्स सीधे मैप होते हैं -- COUNT(*), $sum: 1 में, SUM, $sum में, AVG, $avg में, और MIN/MAX, $min/$max में -- और कॉलम एलियास भी आगे कैरी होते हैं।
  • HAVING, $group के बाद रखा गया एक $match स्टेज बन जाता है, जो SQL के "aggregate के बाद फ़िल्टर" वाले क्रम को दोहराता है।
  • JOIN (INNER या LEFT, ON equality के साथ), $lookup के बाद $unwind बन जाता है, और किसी भी WHERE, ORDER BY, और LIMIT को बाद के पाइपलाइन स्टेजेस में शामिल कर लिया जाता है।

आउटपुट पैनल हर रिज़ल्ट को उस मेथड के साथ लेबल करता है जिसका इस्तेमाल हुआ, और aggregation क्वेरीज़ को फ्लैग करता है, ताकि एक साधारण find() और एक मल्टी-स्टेज पाइपलाइन के बीच का स्ट्रक्चरल फर्क एक नज़र में साफ दिखे।

आउटपुट फॉर्मैट्स, सैंपल्स, और सेफ्टी नोट्स

रिज़ल्ट तीन फॉर्मैट्स में एक टैब स्विच के ज़रिए उपलब्ध है: MongoDB shell सिंटैक्स, आधिकारिक MongoDB ड्राइवर का इस्तेमाल करने वाला Node.js स्कैफोल्ड, और PyMongo का इस्तेमाल करने वाला Python स्कैफोल्ड। एक-क्लिक सैंपल क्वेरीज़ की एक रो में सामान्य पैटर्न्स (WHERE, LIKE, BETWEEN, JOIN, GROUP BY, DISTINCT, INSERT, UPDATE, DELETE) कवर होते हैं ताकि तुरंत टेस्टिंग की जा सके, और एक कॉपी बटन रिज़ल्ट को आपके क्लिपबोर्ड पर रख देता है।

टूल कॉन्टेक्स्चुअल नोट्स भी दिखाता है। उदाहरण के लिए, यह तब चेतावनी देता है जब किसी UPDATE या DELETE में कोई WHERE क्लॉज़ नहीं होता -- यानी ऐसी क्वेरी जो कलेक्शन के हर डॉक्युमेंट को छू लेगी -- और जहां किसी SQL कंस्ट्रक्ट का कोई सटीक MongoDB समकक्ष नहीं होता, वहां रिमाइंडर जोड़ता है। आउटपुट को एक सटीक, अच्छी तरह संरचित शुरुआती बिंदु मानें: इसे प्रोडक्शन में चलाने से पहले अपने असली स्कीमा और डेटा के साथ मिलाकर जांच लें, क्योंकि column-to-field नेमिंग और जटिल nested कंडीशन्स को अब भी इंसानी नज़र से देखने की ज़रूरत पड़ सकती है।