lila/bin/mongodb/user-delete-forever.js

169 lines
2.6 KiB
JavaScript
Raw Normal View History

2017-12-12 20:06:58 -07:00
var username = 'jamesflynn';
2017-01-18 16:51:39 -07:00
var userId = username.toLowerCase();
var user = db.user4.findOne({
2021-02-06 06:26:05 -07:00
_id: userId,
2017-01-18 16:51:39 -07:00
});
if (!user) throw 'No such user';
var multi = {
2021-02-06 06:26:05 -07:00
multi: true,
2017-01-18 16:51:39 -07:00
};
print('\n\n Delete user ' + user.username + ' with ' + user.count.game + ' games!\n\n');
2017-01-19 00:37:18 -07:00
sleep(5000);
2017-01-18 16:51:39 -07:00
print('Set black games as anon');
2021-02-06 06:26:05 -07:00
print(
db.game5.update(
{
us: userId,
'us.1': userId,
},
{
$pull: {
us: userId,
},
$unset: { p1: true },
},
multi
).nModified + ' done'
);
2017-01-18 16:51:39 -07:00
print('Set white games as anon');
2021-02-06 06:26:05 -07:00
print(
db.game5.update(
{
us: userId,
'us.0': userId,
},
{
$set: {
'us.0': '',
},
$unset: { p0: true },
},
multi
).nModified + ' done'
);
2017-01-18 16:51:39 -07:00
print('done');
2020-08-24 04:12:22 -06:00
print('Delete old PMs');
2021-02-06 06:26:05 -07:00
print(
db.m_thread.remove({
visibleByUserIds: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
2020-08-24 04:12:22 -06:00
print('Delete new PMs');
2021-02-06 06:26:05 -07:00
print(
db.msg_thread.remove({
users: userId,
}).nRemoved + ' done'
);
2020-08-24 04:12:22 -06:00
print('Delete mod log');
2021-02-06 06:26:05 -07:00
print(
db.modlog.remove({
user: userId,
}).nRemoved + ' done'
);
2020-08-24 04:12:22 -06:00
2017-01-18 16:51:39 -07:00
print('Delete rating history');
2021-02-06 06:26:05 -07:00
print(
db.history3.remove({
_id: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete bookmarks');
2021-02-06 06:26:05 -07:00
print(
db.bookmark.remove({
u: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete learn progress');
2021-02-06 06:26:05 -07:00
print(
db.learn_progress.remove({
_id: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete perf stats');
var nb = 0;
for (var i = 5; i <= 20; i++)
nb += db.perf_stat.remove({
2021-02-06 06:26:05 -07:00
_id: userId + '/' + i,
}).nRemoved;
2017-01-18 16:51:39 -07:00
print(nb + ' done');
print('Delete prefs');
2021-02-06 06:26:05 -07:00
print(
db.pref.remove({
_id: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete relations from');
2021-02-06 06:26:05 -07:00
print(
db.relation.remove({
u1: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete relations to');
2021-02-06 06:26:05 -07:00
print(
db.relation.remove({
u2: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete security data');
2021-02-06 06:26:05 -07:00
print(
db.security.remove({
user: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('Delete team membership');
2021-02-06 06:26:05 -07:00
print(
db.team_member.remove({
user: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
2017-10-25 17:31:21 -06:00
print('Delete playbans');
2021-02-06 06:26:05 -07:00
print(
db.playban.remove({
_id: userId,
}).nRemoved + ' done'
);
2017-10-25 17:31:21 -06:00
2017-10-26 18:31:08 -06:00
print('Delete perf stats');
2021-02-06 06:26:05 -07:00
print(
db.perf_stat.remove({
_id: new RegExp('^' + userId + '/'),
}).nRemoved + ' done'
);
2017-10-26 18:31:08 -06:00
2017-12-12 20:06:58 -07:00
print('Delete activity');
2021-02-06 06:26:05 -07:00
print(
db.activity.remove({
_id: new RegExp('^' + userId + ':'),
}).nRemoved + ' done'
);
2017-12-12 20:06:58 -07:00
2018-01-07 13:56:14 -07:00
print('Delete assessments');
2021-02-06 06:26:05 -07:00
print(
db.player_assessment.remove({
userId: userId,
}).nRemoved + ' done'
);
2018-01-07 13:56:14 -07:00
2017-01-18 16:51:39 -07:00
print('Delete user');
2021-02-06 06:26:05 -07:00
print(
db.user4.remove({
_id: userId,
}).nRemoved + ' done'
);
2017-01-18 16:51:39 -07:00
print('\n complete.');