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

नेस्टेड दस्तावेज़ को मैप/घटाएं और क्रमबद्ध करें

MapReduce एक ऑपरेशन है जो दस्तावेजों के एक समूह पर लूप करता है और एक ऑपरेशन करता है। मुझे पूरा यकीन नहीं है कि यह वही है जो आप चाहते हैं, लेकिन संभवतः आप अपनी वास्तविक समस्या का एक सरल रूप पोस्ट कर रहे हैं। किसी भी स्थिति में निम्न कोड आपके एकल दस्तावेज़ के लिए 3 बार उत्सर्जन करके काम करता है, दस्तावेज़ के _id को कम करने के कार्य की कुंजी के रूप में उपयोग करता है।

doc = {_id : 16, days : { 1 : 123, 2 : 129, 3 : 140, 4 : 56, 5 : 57, 6 : 69, 7 : 80 }};
db.so.insert(doc);

map = function() {
  emit(this._id, this.days["1"]);
  emit(this._id, this.days["3"]); 
  emit(this._id, this.days["7"]); 
}

reduce = function (k, vals) {
  var sum = 0;
  vals.forEach(function (v) {sum += v;});
  return sum;
}

res = db.so.mapReduce(map, reduce, {out : {inline : 1}});
res.find();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में LIKE कमांड (मोंगोमैपर)

  2. नेवला ढूँढता हैवनऔर अद्यतन एकाधिक फ़ील्ड अपडेट कर रहा है

  3. mongoDB/mongoose के साथ समानांतर निष्पादन में दस्तावेज़ को कैसे पढ़ें/लिखें

  4. GraphQL स्कीमा परिभाषाओं में हाइफ़न को कैसे संभालें

  5. MongoDB - क्षेत्र में गैर-संख्यात्मक वर्णों को पट्टी करें