sort output alphabetically by item name; improve readable data so it is actually readable

This commit is contained in:
Alice Harris
2014-09-01 19:33:23 +10:00
parent 5b333a29ab
commit c47d81e4eb

View File

@@ -87,26 +87,29 @@ dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
function displayData() {
var today = yyyymmdd(new Date());
var report = '';
var csvReport = '';
var textReport = today + '\n';
_.each(thingsFound,function(obj,label){
report += '"' + label + '"' + '\n';
var header = '"date"'; // heading row in CSV data
var data = '"' + today + '"'; // data row in CSV data
_.each(obj,function(value,key){
header += ',"' + key + '"';
data += ',"' + (value || 0) + '"';
csvReport += '\n"' + label + '"' + '\n';
textReport += '\n' + label + ':\n';
var csvHeader = '"date"'; // heading row in CSV data
var csvData = '"' + today + '"'; // data row in CSV data
var sortedKeys = _.sortBy(_.keys(obj), function(key){ return key; });
_.each(sortedKeys,function(key){
var value = obj[key];
csvHeader += ',"' + key + '"';
csvData += ',"' + (value || 0) + '"';
textReport += '\t' + key + ': ' + value + '\n';
});
report += header + '\n' + data + '\n\n';
csvReport += csvHeader + '\n' + csvData + '\n';
});
console.log('\nCSV DATA:\n\n' +
report +
'\nREADABLE DATA:\n\n' +
today + '\n' +
JSON.stringify(thingsFound, null, ' ') +
'\n');
console.log('\nCSV DATA:\n' + csvReport + '\n\n' +
'READABLE DATA:\n\n' + textReport + '\n\n');
console.warn('\n' + count + ' users searched (should be >400k)\n');
console.warn(count + ' users searched (should be >400k)\n');
// NB: "should be" assumes that no query filter was applied to findEach
return exiting(0);
@@ -162,36 +165,35 @@ All users found.
CSV DATA:
"Unconventional Armor ownership"
"date","headAccessory_special_wondercon_red","headAccessory_special_wondercon_black","back_special_wondercon_black","back_special_wondercon_red","body_special_wondercon_red","body_special_wondercon_black","body_special_wondercon_gold"
"2014-09-01","9","7","7","7","7","7","7"
"date","back_special_wondercon_black","back_special_wondercon_red","body_special_wondercon_black","body_special_wondercon_gold","body_special_wondercon_red","headAccessory_special_wondercon_black","headAccessory_special_wondercon_red"
"2014-09-01","7","7","7","7","7","7","9"
"Spooky Skins purchases"
"date","monster","pumpkin","skeleton","zombie","ghost","shadow"
"2014-09-01","3","3","4","3","2","6"
"date","ghost","monster","pumpkin","shadow","skeleton","zombie"
"2014-09-01","2","3","3","6","4","3"
READABLE DATA:
2014-09-01
{
"Unconventional Armor ownership": {
"headAccessory_special_wondercon_red": 9,
"headAccessory_special_wondercon_black": 7,
"back_special_wondercon_black": 7,
"back_special_wondercon_red": 7,
"body_special_wondercon_red": 7,
"body_special_wondercon_black": 7,
"body_special_wondercon_gold": 7
},
"Spooky Skins purchases": {
"monster": 3,
"pumpkin": 3,
"skeleton": 4,
"zombie": 3,
"ghost": 2,
"shadow": 6
}
}
Unconventional Armor ownership:
back_special_wondercon_black: 7
back_special_wondercon_red: 7
body_special_wondercon_black: 7
body_special_wondercon_gold: 7
body_special_wondercon_red: 7
headAccessory_special_wondercon_black: 7
headAccessory_special_wondercon_red: 9
Spooky Skins purchases:
ghost: 2
monster: 3
pumpkin: 3
shadow: 6
skeleton: 4
zombie: 3
400100 users searched (should be >400k)