tweak report migration script

pull/3868/head
Thibault Duplessis 2017-12-05 09:20:03 -05:00
parent 833f1e4e57
commit ed65ce39bc
1 changed files with 17 additions and 11 deletions

View File

@ -1,8 +1,4 @@
db.report2.drop();
db.report2.createIndex({room:1,score:-1},{partialFilterExpression:{open:true},name:'best_open'});
db.report2.createIndex({'inquiry.mod':1},{partialFilterExpression:{'inquiry.mod':{$exists:true}}});
db.report2.createIndex({user:1});
db.report2.createIndex({'atoms.by':1});
db.report.aggregate(
[
@ -21,12 +17,17 @@ db.report.aggregate(
var reports = group.reports;
var first = reports[0];
var atoms = reports.map(r => ({
by: r.createdBy,
at: r.createdAt,
text: r.text,
score: 30
}));
var atoms = [];
reports.forEach(r => {
var same = atoms.find(a => a.by === r.createdBy);
if (same) same.text += '\n\n' + r.text;
else atoms.push({
by: r.createdBy,
at: r.createdAt,
text: r.text,
score: 30
});
});
var report = {
_id: first._id,
@ -38,7 +39,12 @@ db.report.aggregate(
open: !first.processedBy
};
if (first.processedBy)
report.processedBy = first.processedBy;
report.processedBy = first.processedBy;
db.report2.insert(report);
});
db.report2.createIndex({room:1,score:-1},{partialFilterExpression:{open:true},name:'best_open'});
db.report2.createIndex({'inquiry.mod':1},{partialFilterExpression:{'inquiry.mod':{$exists:true}}});
db.report2.createIndex({user:1});
db.report2.createIndex({'atoms.by':1});