आप बिक्री और . प्राप्त करने के लिए एकत्रीकरण ढांचे का उपयोग कर सकते हैं लाभ और कोई अन्य मूल्य जो आप अपने कुंजी/मूल्य जोड़ी प्रतिनिधित्व में संग्रहीत कर रहे हैं।
आपके उदाहरण डेटा के लिए:
var pipeline = [
{
"$unwind" : "$finance"
},
{
"$group" : {
"_id" : "$finance.k",
"numberOf" : {
"$sum" : 1
},
"total" : {
"$sum" : "$finance.v.v"
}
}
}
]
R = db.tb.aggregate( pipeline );
printjson(R);
{
"result" : [
{
"_id" : "profit",
"numberOf" : 2,
"total" : 246246
},
{
"_id" : "sales",
"numberOf" : 2,
"total" : 468000
}
],
"ok" : 1
}
यदि आपके पास अतिरिक्त k/v जोड़े हैं तो आप एक ऐसा मिलान जोड़ सकते हैं जो ["sales",,"profit"] में केवल k मानों से गुजरता हो।