MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB मानचित्र में चर का उपयोग कैसे करें- मानचित्र फ़ंक्शन को कम करें

जैसा कि @Dave Griffith द्वारा बताया गया है, आप scope . का उपयोग कर सकते हैं mapReduce . का पैरामीटर समारोह।

मैंने यह पता लगाने के लिए थोड़ा संघर्ष किया कि इसे फ़ंक्शन में कैसे ठीक से पास किया जाए, क्योंकि जैसा कि दूसरों ने बताया है, दस्तावेज़ीकरण बहुत विस्तृत नहीं है। अंत में, मुझे एहसास हुआ कि mapReduce 3 पैरा की अपेक्षा कर रहा है:

  • मानचित्र समारोह
  • फ़ंक्शन कम करें
  • दस्तावेज़ में परिभाषित एक या अधिक पैरामीटर वाली वस्तु

आखिरकार, मैं जावास्क्रिप्ट में निम्नलिखित कोड पर पहुंचा:

// I define a variable external to my map and to my reduce functions
var KEYS = {STATS: "stats"};

function m() {
    // I use my global variable inside the map function
    emit(KEYS.STATS, 1);
}

function r(key, values) {
    // I use a helper function
    return sumValues(values);
}

// Helper function in the global scope
function sumValues(values) {
    var result = 0;
    values.forEach(function(value) {
        result += value;
    });
    return result;
}

db.something.mapReduce(
    m,
    r,
    {
         out: {inline: 1},
         // I use the scope param to pass in my variables and functions
         scope: {
             KEYS: KEYS,
             sumValues: sumValues // of course, you can pass function objects too
         }
    }
);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB संग्रह के अंदर एक विशिष्ट एम्बेडेड दस्तावेज़ कैसे प्राप्त करें?

  2. MongoDB - एक दस्तावेज़ बनाएँ

  3. mongoDB जावा ड्राइवर लॉगिंग को अक्षम कैसे करें?

  4. MongoDB:मैसेजिंग ऐप के लिए सबसे अच्छा डिज़ाइन

  5. नेवला:ObjectId तुलना असंगत रूप से विफल हो जाती है