आपके जावा कोड से मैंने पढ़ा
के रूप में
project only type[1..120] fields and number of such fields in the document
इस धारणा के साथ, आप मैप-रिड्यूस कर सकते हैं इसे निम्नलिखित के रूप में:
db.testcol.mapReduce(
function(){
value = {count:0};
for (i = 1; i <= 120; i++) {
key = "type" + i
if (this.hasOwnProperty(key)) {
value[key] = this[key];
value.count++
}
}
if (value.count > 0) {
emit(this._id, value);
}
},
function(){
//nothing to reduce
},
{
out:{inline:true}
});
out:{inline:true}
छोटे डेटासेट के लिए काम करता है, जब परिणाम 16Mb की सीमा में फिट बैठता हैए> . बड़ी प्रतिक्रियाओं के लिए आपको output
. की आवश्यकता होगी एक संग्रह के लिए, जिसे आप सामान्य रूप से क्वेरी और पुनरावृति कर सकते हैं।