For download statistics select the section on the query
This commit is contained in:
parent
a6421d0dd3
commit
4f4c82f7e0
1 changed files with 16 additions and 22 deletions
38
mapreduce.go
38
mapreduce.go
|
@ -190,20 +190,18 @@ func (m *MR) UpdateHourDownloads(statsColl *mgo.Collection) error {
|
||||||
|
|
||||||
var mr mgo.MapReduce
|
var mr mgo.MapReduce
|
||||||
mr.Map = `function() {
|
mr.Map = `function() {
|
||||||
if (this.section == "download") {
|
var date = Date.UTC(this.date.getUTCFullYear(),
|
||||||
var date = Date.UTC(this.date.getUTCFullYear(),
|
this.date.getUTCMonth(),
|
||||||
this.date.getUTCMonth(),
|
this.date.getUTCDate(),
|
||||||
this.date.getUTCDate(),
|
this.date.getUTCHours());
|
||||||
this.date.getUTCHours());
|
emit(date, 1);
|
||||||
emit(date, 1);
|
}`
|
||||||
}
|
|
||||||
}`
|
|
||||||
mr.Reduce = `function(date, vals) {
|
mr.Reduce = `function(date, vals) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
vals.forEach(function(v) { count += v; });
|
vals.forEach(function(v) { count += v; });
|
||||||
return count;
|
return count;
|
||||||
}`
|
}`
|
||||||
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}}, statsColl, HOURLY_DOWNLOADS_COLL)
|
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}, "section": "download"}, statsColl, HOURLY_DOWNLOADS_COLL)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MR) UpdateDayDownloads(statsColl *mgo.Collection) error {
|
func (m *MR) UpdateDayDownloads(statsColl *mgo.Collection) error {
|
||||||
|
@ -212,19 +210,17 @@ func (m *MR) UpdateDayDownloads(statsColl *mgo.Collection) error {
|
||||||
|
|
||||||
var mr mgo.MapReduce
|
var mr mgo.MapReduce
|
||||||
mr.Map = `function() {
|
mr.Map = `function() {
|
||||||
if (this.section == "download") {
|
var date = Date.UTC(this.date.getUTCFullYear(),
|
||||||
var date = Date.UTC(this.date.getUTCFullYear(),
|
this.date.getUTCMonth(),
|
||||||
this.date.getUTCMonth(),
|
this.date.getUTCDate());
|
||||||
this.date.getUTCDate());
|
emit(date, 1);
|
||||||
emit(date, 1);
|
|
||||||
}
|
|
||||||
}`
|
}`
|
||||||
mr.Reduce = `function(date, vals) {
|
mr.Reduce = `function(date, vals) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
vals.forEach(function(v) { count += v; });
|
vals.forEach(function(v) { count += v; });
|
||||||
return count;
|
return count;
|
||||||
}`
|
}`
|
||||||
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}}, statsColl, DAILY_DOWNLOADS_COLL)
|
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}, "section": "download"}, statsColl, DAILY_DOWNLOADS_COLL)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MR) UpdateMonthDownloads(statsColl *mgo.Collection) error {
|
func (m *MR) UpdateMonthDownloads(statsColl *mgo.Collection) error {
|
||||||
|
@ -233,18 +229,16 @@ func (m *MR) UpdateMonthDownloads(statsColl *mgo.Collection) error {
|
||||||
|
|
||||||
var mr mgo.MapReduce
|
var mr mgo.MapReduce
|
||||||
mr.Map = `function() {
|
mr.Map = `function() {
|
||||||
if (this.section == "download") {
|
var date = Date.UTC(this.date.getUTCFullYear(),
|
||||||
var date = Date.UTC(this.date.getUTCFullYear(),
|
this.date.getUTCMonth());
|
||||||
this.date.getUTCMonth());
|
emit(date, 1);
|
||||||
emit(date, 1);
|
|
||||||
}
|
|
||||||
}`
|
}`
|
||||||
mr.Reduce = `function(date, vals) {
|
mr.Reduce = `function(date, vals) {
|
||||||
var count = 0;
|
var count = 0;
|
||||||
vals.forEach(function(v) { count += v; });
|
vals.forEach(function(v) { count += v; });
|
||||||
return count;
|
return count;
|
||||||
}`
|
}`
|
||||||
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}}, statsColl, MONTHLY_DOWNLOADS_COLL)
|
return m.update(&mr, bson.M{"date": bson.M{"$gte": start}, "section": "download"}, statsColl, MONTHLY_DOWNLOADS_COLL)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MR) update(mr *mgo.MapReduce, query bson.M, queryColl *mgo.Collection, storeColl string) error {
|
func (m *MR) update(mr *mgo.MapReduce, query bson.M, queryColl *mgo.Collection, storeColl string) error {
|
||||||
|
|
Reference in a new issue