Скачиваний:
10
Добавлен:
22.05.2022
Размер:
1.57 Кб
Скачать
mongod: launch

mongo:
use codb

mongo:
db.log.find()

requests:
db.log.find({},{URL:1,_id:0}).sort({URL:1})
db.log.find({URL: "www.testurl2.com"},{IP:1,_id:0}).sort({IP:1})
db.log.find({timeStemp: "20200101"},{URL:1,_id:0}).sort({URL:1})
db.log.find({IP: "192.169.0.2"},{URL:1,_id:0}).sort({URL:1})

mapReduce:
var map1 = function() { emit(this.URL, this.timeSpent);};
var reduce1 = function(keyURL, timeValues) { return Array.sum(timeValues);};
db.log.mapReduce(map1,reduce1,{out:"map_reduce1"})
db.map_reduce1.find().sort({_id: 1})

var map2 = function() { emit(this.URL, 1); };
var reduce2 = function(keyURL, IPValue) { return Array.sum(IPValue);};
db.log.mapReduce(map2,reduce2,{out:"map_reduce2"})
db.map_reduce2.find().sort({_id: 1})

var map3 = function() { emit(this.URL, 1); if ( this.timeStamp>= this.timeStamp && this.timeStamp <= this.timeStamp) emit(this.timeStamp, 1); };
var reduce3 = function(keyURL, IPValue) { return Array.sum(IPValue);};
db.log.mapReduce(map3,reduce3,{out:"map_reduce3"})
db.map_reduce3.find().sort({_id: -1})

var map4 = function() { emit({ip: this.IP, url: this.URL}, {totalCount: 1, totalDuration: this.timeSpent}); };
var reduce4 = function(keyURL, IPValue) { var totalCount = 0; var totalDuration = 0; for (var i in IPValue) { totalCount += IPValue[i].totalCount; totalDuration += IPValue[i].totalDuration;} return {totalCount: totalCount, totalDuration: totalDuration};};
db.log.mapReduce(map4,reduce4,{out:"map_reduce4"})
db.map_reduce4.find().sort({url: -1, totalCount: -1, totalDuration: -1})