var map = function() {
var key = {
year: this.date.getFullYear(),
//month: this.date.getMonth(),
day: this.date.getDate()
};
key['domain'] = this.domain;
key['stat'] = "yandexCitation";
emit(key, this.stats.yandexCitation);
key['domain'] = this.domain;
key['stat'] = "pageRank";
emit(key, this.stats.pageRank);
key['domain'] = this.domain;
key['stat'] = "yandexIndex";
emit(key, this.stats.yandexIndex);
key['domain'] = this.domain;
key['stat'] = "googleIndex";
emit(key, this.stats.googleIndex);
};
var reduce = function(key, values) {
function median(values) {
values.sort( function(a,b) {return a - b;} );
var half = Math.floor(values.length/2);
if(values.length % 2)
return values[half];
else
return (values[half-1] + values[half]) / 2.0;
}
return median(values);
};
db.SitesHistory.mapReduce(map, reduce, {
out: { inline: 1 }
});