的最大總和我有采購交易的集合:MongoDB的地圖找到降低採購
{....,"userId": "1","amount":3,....}
{....,"userId": "1","amount":1,....}
{....,"userId": "2","amount":4,....}
{....,"userId": "1","amount":2,....}
我需要與購買的最大金額和與合計本身打印用戶ID。
我沒有問題,讓使用地圖的採購金額降低:
function map(){
emit(this.userID,{amount:this.amount});
}
進而降低:
function reduce(key,value){
var sum = 0;
for (var i=0; i<value.length; i++) {
sum += value[i].amount;
}
return sum;
}
我明白,我需要使用完成功能來選擇最大的成果和回報它作爲單一的收藏。
如何使用finalize函數來選擇最大的結果? 你能幫忙嗎?
更新:
在SQL方面,它應該是這樣的:
select MAX(tbl.amn), tbl.uid from
(select o, userID as uid, SUM(o.amount) as amn from order o GROUP BY o.userID) as tbl GROUP BY tbl.uid
「最大購買金額」有點含糊不清,你的意思是最高金額? – misaxi 2012-03-12 23:00:55
@misaxi,看我的更新。 – 2012-03-13 06:04:19
對不起,但我不熟悉SQL語句... – misaxi 2012-03-14 00:11:23