51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 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(/\'/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.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);
 |