//在Mongodb的MapReduce中可以使用JS的Math函数嘛,可以使用new Date()嘛,回答是肯定的! $map = 'function(){ var key = { advert_id : this.advert_id, district_code : this.district_code, lng : (Math.ceil( (this.lng - 73.40) /0.02 ) * 0.02 + 73.38).toFixed(2), lat : (Math.ceil( (this.lat - 3.52) /0.02 ) * 0.02 + 3.50).toFixed(2), hours : (new Date(this.datetime * 1000)).getHours() }; var values = { amount: this.amount, number: 1, advertiser_id: this.advertiser_id }; emit(key, values); }'; $reduce = 'function(key, values){ var result = {amount:0, number:0, advertiser_id:0}; for(var i in values) { result.advertiser_id = values[i].advertiser_id; result.amount += values[i].amount; result.number += values[i].number; } return result; }'; $query = null;