Add story cleanup script to ensure all story links are proper.
This commit is contained in:
50
seed_data/storyCleanup.js
Normal file
50
seed_data/storyCleanup.js
Normal file
@ -0,0 +1,50 @@
|
||||
/**
|
||||
* Created by nathanleniz on 4/25/15.
|
||||
*/
|
||||
require('dotenv').load();
|
||||
var mongodb = require('mongodb'),
|
||||
Story = require('../models/Story.js'),
|
||||
secrets = require('../config/secrets');
|
||||
mongoose = require('mongoose');
|
||||
|
||||
mongoose.connect(secrets.db);
|
||||
|
||||
function storyLinkCleanup(cb) {
|
||||
console.log('headLineCleanup');
|
||||
var i = 1;
|
||||
var stream = Story.find({}).skip(0).limit(0).batchSize(20000).stream();
|
||||
|
||||
stream.on('data', function (story) {
|
||||
console.log(i++);
|
||||
this.pause();
|
||||
story.storyLink = story.storyLink.
|
||||
replace(/\'/g, '').
|
||||
replace(/\"/g, '').
|
||||
replace(/,/g, '').
|
||||
replace(/\s+/g, ' ').
|
||||
replace(/[^a-z0-9\s]/gi, '').
|
||||
toLowerCase().
|
||||
trim();
|
||||
story.save(function (err) {
|
||||
if (err) {
|
||||
console.log('woops');
|
||||
}
|
||||
this.resume();
|
||||
}.bind(this));
|
||||
})
|
||||
.on('error', function (err) {
|
||||
console.log(err);
|
||||
}).on('close', function () {
|
||||
console.log('done with set');
|
||||
stream.destroy();
|
||||
cb();
|
||||
});
|
||||
}
|
||||
|
||||
function done() {
|
||||
console.log('Migration script has completed');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
|
||||
storyLinkCleanup(done);
|
Reference in New Issue
Block a user