tweak rapid init script

rapid
Thibault Duplessis 2017-11-29 23:35:26 -05:00
parent bdfe67b0e4
commit 274029de51
1 changed files with 52 additions and 46 deletions

View File

@ -35,58 +35,64 @@ var initialGlicko = {
// var query = {_id:{$in:['thibault', 'neio']}};
var query = {
'perfs.classical.nb':{$gte:1},
'_id': {$in:['thibault','neio','oien','kingscrusher-youtub3','german11']}
'v':{$exists:false},
enabled: true,
engine: {$ne:true},
// seenAt: { $gt: new Date(Date.now() - 1000 * 60 * 60 * 24 * 7) }
// '_id': {$in:['thibault','neio','oien','kingscrusher-youtub3','german11']}
// 'perfs.rapid': { $exists: false }
};
};
var done = 0;
db.user4.find(query).limit(1000).forEach(u => {
db.user4.find(query).sort({'count.game':1}).forEach(u => {
var classicalPerf = u.perfs.classical;
if (classicalPerf) {
classicalPerf.la = undefined;
classicalPerf.nb = NumberInt(0);
classicalPerf.re = [];
var rapidPerf = copyPerf(classicalPerf);
db.game5.find({
us: u._id,
s: { $gte: 30 },
t: { $gte: 2 },
ra: true,
v: { $exists: false },
c: { $exists: true }
}, { _id: false, c: true, ca: 1 }).sort({ca:1}).forEach(g => {
switch(getPerf(getTc(g))) {
case 'rapid':
rapidPerf.nb++;
rapidPerf.la = g.ca;
break;
case 'classical':
classicalPerf.nb++;
classicalPerf.la = g.ca;
break;
}
});
[classicalPerf, rapidPerf].forEach(perf => {
if (perf.nb < 10) {
if (perf.nb < 5) perf.gl.d = 350;
else perf.gl.d = 150;
perf.gl.v = 0.06;
}
if (!perf.la) delete perf.la;
});
// print(u._id);
classicalPerf.la = undefined;
classicalPerf.nb = NumberInt(0);
classicalPerf.re = [];
var rapidPerf = copyPerf(classicalPerf);
db.game5.find({
us: u._id,
s: { $gte: 30 },
t: { $gte: 2 },
ra: true,
v: { $exists: false },
c: { $exists: true }
}, { _id: false, c: true, ca: -1 }).sort({ca:-1}).forEach(g => {
switch(getPerf(getTc(g))) {
case 'rapid':
rapidPerf.nb++;
if (!rapidPerf.la) rapidPerf.la = g.ca;
break;
case 'classical':
classicalPerf.nb++;
if (!classicalPerf.la) classicalPerf.la = g.ca;
break;
}
});
[classicalPerf, rapidPerf].forEach(perf => {
if (perf.nb < 10) {
if (perf.nb < 5) perf.gl.d = 350;
else perf.gl.d = 150;
perf.gl.v = 0.06;
}
if (!perf.la) delete perf.la;
});
var update = {
$set: {}
};
var update = {
$set: {
v: 2 // user version 2
}
};
if (classicalPerf.nb == 0) update['$unset'] = {'perfs.classical': true};
else update['$set']['perfs.classical'] = classicalPerf;
if (rapidPerf.nb > 0) update['$set']['perfs.rapid'] = rapidPerf;
if (classicalPerf.nb == 0) update['$unset'] = {'perfs.classical': true};
else update['$set']['perfs.classical'] = classicalPerf;
if (rapidPerf.nb > 0) update['$set']['perfs.rapid'] = rapidPerf;
// db.user4.update({_id:u._id}, update);
print('------------------------------- ' + u._id);
printjson(update);
}
// printjson(update);
db.user4.update({_id:u._id}, update);
db.perf_stat.remove({_id:u._id + '/3'});
done++;
if (done % 100 === 0) print(done);
if (done % 100 === 0) print(done + ' ' + u._id + ' ' + u.count.game);
});