मैप-रिड्यूस डेटा की बड़ी मात्रा को उपयोगी समेकित परिणामों में संघनित करने के लिए डेटा प्रोसेसिंग प्रतिमान है।
आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo280.insertOne({"CustomerName":"Chris","isMarried":true}); { "acknowledged" : true, "insertedId" : ObjectId("5e49116edd099650a5401a62") } > db.demo280.insertOne({"CustomerName":"Mike","isMarried":false}); { "acknowledged" : true, "insertedId" : ObjectId("5e491170dd099650a5401a63") } > db.demo280.insertOne({"CustomerName":"David","isMarried":false}); { "acknowledged" : true, "insertedId" : ObjectId("5e491170dd099650a5401a64") } > db.demo280.insertOne({"CustomerName":"Bob","isMarried":true}); { "acknowledged" : true, "insertedId" : ObjectId("5e491171dd099650a5401a65") }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo280.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e49116edd099650a5401a62"), "CustomerName" : "Chris", "isMarried" : true } { "_id" : ObjectId("5e491170dd099650a5401a63"), "CustomerName" : "Mike", "isMarried" : false } { "_id" : ObjectId("5e491170dd099650a5401a64"), "CustomerName" : "David", "isMarried" : false } { "_id" : ObjectId("5e491171dd099650a5401a65"), "CustomerName" : "Bob", "isMarried" : true }
मोंगो डीबी मैप्रिडस को लागू करने के लिए निम्नलिखित क्वेरी है -
> db.demo280.mapReduce( ... function() { emit(this.isMarried,true); }, ... ... function(key, values) {return Array.sum(values)}, { ... query:{isMarried:true}, ... out:"Output" ... } ...)
यह निम्नलिखित आउटपुट प्रदर्शित करेगा जो कुल 2 दस्तावेज़ प्रदर्शित करेगा (इनपुट:2) क्वेरी से मेल खाता है और 2 परिणाम उत्सर्जित किए गए थे (emit:2) -
{ "result" : "Output", "timeMillis" : 1241, "counts" : { "input" : 2, "emit" : 2, "reduce" : 1, "output" : 1 }, "ok" : 1 }