//在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;