कृपया मेरी मदद करो MongoDB को यह चयन वाक्य कन्वर्ट करने के लिए मैक्स का चयन करें() के साथ() विधि के बजाय SUM() उस दस्तावेज़ के रूप में।"द्वारा समूह" MongoDB में
धन्यवाद।
कृपया मेरी मदद करो MongoDB को यह चयन वाक्य कन्वर्ट करने के लिए मैक्स का चयन करें() के साथ() विधि के बजाय SUM() उस दस्तावेज़ के रूप में।"द्वारा समूह" MongoDB में
धन्यवाद।
चूंकि मोंगोडीबी नीचे काम करने वाले मानचित्र का समर्थन करता है।
db.employee.insert({name:"Tejas",Value:2})
db.employee.insert({name:"Tejas",Value:3})
db.employee.insert({name:"Varma",Value:1})
db.employee.insert({name:"Varma",Value:6})
var map=function(){
var key={name:this.name};
var value={value:this.Value};
emit(key,value);
};
var reduce=function(key,values){
var max=-1;
values.forEach(function(value){
if(max==-1){
max=value['value'];
}
if(max<value['value']){
max=value['value'];
}
});
return {max:max};
};
db.employee.mapReduce (नक्शा, को कम करने, {बाहर: {इनलाइन: 1}});
आपको बहुत धन्यवाद – spidermanit
मैंने निम्नानुसार मोंगो संग्रह बनाया है।
{ "_id" : ObjectId("4fb36bfd3d1c88bfa15103b1"), "name" : "bob", "value" : 5 }
{ "_id" : ObjectId("4fb36c033d1c88bfa15103b2"), "name" : "bob", "value" : 3 }
{ "_id" : ObjectId("4fb36c063d1c88bfa15103b3"), "name" : "bob", "value" : 7 }
{ "_id" : ObjectId("4fb36c0c3d1c88bfa15103b4"), "name" : "john", "value" : 2 }
{ "_id" : ObjectId("4fb36c103d1c88bfa15103b5"), "name" : "john", "value" : 4 }
{ "_id" : ObjectId("4fb36c143d1c88bfa15103b6"), "name" : "john", "value" : 8 }
{ "_id" : ObjectId("4fb36c163d1c88bfa15103b7"), "name" : "john", "value" : 6 }
फिर अपने नाम और अधिकतम (मूल्य)
db.table1.group(
{key: {name:true},
reduce: function(obj,prev) {
if (prev.maxValue < obj.value) {
prev.maxValue = obj.value;
}
},
initial: { maxValue: 0 }}
);
द्वारा निम्नलिखित कोड मैं समूह यह का उपयोग करके परिणाम के रूप में
[
{
"name" : "bob",
"maxValue" : 7
},
{
"name" : "john",
"maxValue" : 8
}
]
यह एकत्रीकरण के साथ बहुत सरल है दिखाया गया है ढांचा। आप समेकन ढांचे का उपयोग करके निम्नलिखित कोड के साथ एक ही परिणाम प्राप्त कर सकते हैं।
db.table1.aggregate(
{$group:{_id:"$name", "maxValue": {$max:"$value"}}}
);
आपको धन्यवाद। – spidermanit
हाय परवीन। क्या यह विधि अधिकतम तारीख की जांच करने के लिए संभव है, मेरा मतलब नवीनतम तारीख है? – spidermanit
देर से प्रतिक्रिया के लिए खेद है। हां इस विधि के साथ तिथियों की तुलना करना भी संभव है। आपको obj.date के साथ obj.date को प्रतिस्थापित करने की आवश्यकता है –
एकत्रीकरण फ्रेमवर्क का उपयोग करना:
db.table1.aggregate({$group:{'_id':'$name', 'max':{$max:'$value'}}},
{$sort:{'max':1}}).result
var myresult = db.table1.aggregate([
{ $group:
_id:"$Name",
value: { $max: "$Value" }
}
}
]);
print(myresult)
की कोशिश की नहीं, 'को कम: समारोह (obj, पिछला) {अगर (prev.c