Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में MySQL UNION जैसी क्वेरी कैसे लागू करें?


दो संग्रहों को UNION करने के लिए समान क्वेरी के लिए, MongoDB में $lookup के साथ aggregate() का उपयोग करें। आइए दस्तावेज़ों के साथ पहला संग्रह बनाएं:

> db.demo486.insertOne({_id:1,"Amount":30,"No":4}); { "acknowledged" : true, "insertedId" : 1 } > db.demo486.insertOne({_id:2,"Amount":40,"No":2}); { "acknowledged" : true, "insertedId" : 2 } > db.demo486.insertOne({_id:3,"Amount":60,"No":6}); { "acknowledged" : true, "insertedId" : 3 }

पहले संग्रह के सभी दस्तावेज़ प्रदर्शित करें

> db.demo486.find();

आउटपुट:

{ "_id" : 1, "Amount" : 30, "No" : 4 } { "_id" : 2, "Amount" : 40, "No" : 2 } { "_id" : 3, "Amount" : 60, "No" : 6 }

दूसरा संग्रह बनाएं

> db.demo487.insertOne({_id:1,"Price":10,"No":4}); { "acknowledged" : true, "insertedId" : 1 } > db.demo487.insertOne({_id:2,"Price":80,"No":9}); { "acknowledged" : true, "insertedId" : 2 } > db.demo487.insertOne({_id:3,"Price":20,"No":6}); { "acknowledged" : true, "insertedId" : 3 }

दूसरे संग्रह के सभी दस्तावेज़ प्रदर्शित करें

> db.demo487.find();

आउटपुट:

{ "_id" : 1, "Price" : 10, "No" : 4 } { "_id" : 2, "Price" : 80, "No" : 9 } { "_id" : 3, "Price" : 20, "No" : 6 }

MongoDB में दो क्वेरी UNION करने की क्वेरी

> db.getCollection('demo486').aggregate([ ... {$lookup : { from : "demo487",localField : "No", foreignField :"No", as:"demo487"}}, ... {$unwind : "$demo487"}, ... { ...    $group : { ...       _id : { ...          No :"$No", ...       }, ...       TotalValue : { $sum : { $add: [ "$Amount", "$demo487.Price" ] }} ...    } ... }, ... {$sort : {"_id.No":1}}, ... { ...    $project : { ...       No :"$_id.No", ...       TotalValue : 1, ...       _id : 0 ...    } ... } ... ])

आउटपुट

{ "TotalValue" : 40, "No" : 4 } { "TotalValue" : 80, "No" : 6 }

  1. - MySQL में शर्त के साथ TRUNCATE?

    MySQL में, शर्त के साथ TRUNCATE करने का कोई तरीका नहीं है। आप WHERE क्लॉज के साथ TRUNCATE स्टेटमेंट का उपयोग नहीं कर सकते। यदि आप शर्त चाहते हैं, तो DELETE कमांड का उपयोग करें: DELETE FROM yourTableName WHERE yourCondition; उपरोक्त सिंटैक्स ठीक है लेकिन यदि आप तेज समाधान चाहते हैं, तो DELETE की तुल

  1. - MySQL UNION क्वेरी पर काउंट कैसे करें?

    UNION क्वेरी के परिणाम की संख्या (काउंट) प्राप्त करने के लिए, निम्नलिखित सिंटैक्स का उपयोग करें: SELECT COUNT(*) FROM ( SELECT yourColumName1 from yourTableName1 UNION SELECT yourColumName1 from yourTableName2 ) anyVariableName; उदाहरण के साथ समझें आइए दो टेबल बनाते हैं और उनमें कुछ रिकॉर्ड डालते

  1. - MySQL में WHERE IN vs OR - प्रदर्शन तुलना और उदाहरण

    MySQL में एकाधिक मानों के विरुद्ध फ़िल्टर करने के लिए IN() और OR दोनों का उपयोग किया जा सकता है, लेकिन IN() आमतौर पर बेहतर प्रदर्शन देता है क्योंकि यह इंडेक्स का उपयोग कर सकता है। सिंटैक्स तुलना -- IN() का उपयोग SELECT * FROM table WHERE column IN (val1, val2, val3); -- OR का उपयोग SELECT * FROM t