我有一个奇怪的MapReduce问题.
地图功能:
> mp
function () {
emit(this.ContractID, {qty:this.Qty, qtybs:this.QtyBs});
}
Run Code Online (Sandbox Code Playgroud)
减少功能
> red
function (key, values) {
var sum1 = 0, sum2 = 0;
values.forEach(function (doc) {sum1 += doc.qty;sum2 += doc.qtybs;});
return {a:sum1, b:sum2};
}
Run Code Online (Sandbox Code Playgroud)
运行MR以获得7份合约:
> result = db.fact_payments.mapReduce(mp, red, {out:"myout2", query:{ContractID:{$lte:10000100042}}});
{
"result" : "myout2",
"timeMillis" : 670,
"counts" : {
"input" : 591,
"emit" : 591,
"output" : 7
},
"ok" : 1,
}
> db.myout2.find()
{ "_id" : NumberLong("10000000042"), "value" : { "a" : 8331.04, …Run Code Online (Sandbox Code Playgroud) mongodb ×1