48 lines
1.0 KiB
JavaScript
48 lines
1.0 KiB
JavaScript
|
/**
|
||
|
* 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(/[^a-z0-9\s]/gi, '').
|
||
|
replace(/\s+/g, ' ').
|
||
|
toLowerCase().
|
||
|
trim();
|
||
|
story.save(function (err) {
|
||
|
if (err) {
|
||
|
console.log('woops');
|
||
|
}
|
||
|
this.resume();
|
||
|
}.bind(this));
|
||
|
})
|
||
|
.on('error', function (err) {
|
||
|
console.error(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);
|