Skip to content

Instantly share code, notes, and snippets.

@heukirne
Created July 7, 2014 18:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save heukirne/01217d41acad3c8eceb5 to your computer and use it in GitHub Desktop.
Save heukirne/01217d41acad3c8eceb5 to your computer and use it in GitHub Desktop.
Cálculo do I2
db.i2.aggregate(
{ $sort: { _id : 1} },
{ $group: { _id: "$c" ,
i : { $first : "$i" },
m : { $first : "$m" },
r : { $first : "$r" },
j : { $first : "$j" },
} },
{ $out: 'i2_group' }
);
var map = function(){
emit(this._id, this);
};
var reduce = function(key, regs) {
return regs;
}
var finalize = function(key, r){
if (r.j != '') { return 8; }
if (r.r == 18) { return 4; }
if (r.r == 8) { return 2; }
if (r.i == 1) {
switch (r.m) {
case 1: return 10; break;
case 2:
case 7: return 1; break;
case 3: return 5; break;
case 4:
case 8: return 9; break;
case 5: return 4; break;
case 6: return 6; break;
}
}
return 7;
}
var res = db.i2_group.mapReduce( map, reduce,
{ finalize: finalize,
out: { replace : "alunoI2" },
//sort: { "_id":1 },
jsMode: true,
});
//printjson(res);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment