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