【发布时间】:2015-02-28 12:11:35
【问题描述】:
如何使用 mapReduce 将以下 SQL 查询转换为 mongoDB
SELECT mobile, SUM( amount ),count(mobile) as noOfTimesRecharges
FROM recharge
WHERE recharge_date between '2015-02-26' AND '2015-03-27'
GROUP BY mobile
having noOfTimesRecharges > 0 and noOfTimesRecharges < 5
我试过了
db.users.mapReduce(
function(){
emit(this.mobile,this.amount);
},
function(k,v){
return Array.sum(v)
},
{
query:{
recharge_date:{$gte:ISODate("2014-06-17"),$lte:ISODate("2014-06-20")}
},
out:"one_month_data"
}).find();
这给了我结果,但不是计数。
【问题讨论】:
标签: javascript mongodb mapreduce mongodb-query aggregation-framework