start writing user migration for challenge completion

This commit is contained in:
Michael Q Larson
2015-04-12 02:06:38 -04:00
parent 332d4f1875
commit f85804f270
2 changed files with 36 additions and 0 deletions

View File

@ -65,6 +65,7 @@ var userSchema = new mongoose.Schema({
default: ''
}
},
portfolio: {
website1Link: {
type: String,

View File

@ -0,0 +1,35 @@
require('dotenv').load();
var mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient,
Server = require('mongodb').Server,
User = require('../models/User.js'),
newChallenges = require('./challengeMapping.json'),
secrets = require('../config/secrets');
var mongoClient = new MongoClient(new Server('localhost', 27017), {native_parser: true});
var mongoose = require('mongoose');
mongoose.connect(secrets.db);
User.find(function(err, users) {
if (err) { console.log(err) }
users.forEach(function(user) {
console.log('in users');
if (typeof user.challengesHash !== 'undefined') {
var oldChallenges = Object.keys(user.challengesHash).filter(function (challenge) {
return user.challengesHash[challenge];
}).map(function (data) {
return ({
challengeNum: data,
timeStamp: user.challengesHash[data]
});
});
oldChallenges.forEach(function (challenge) {
user.progressTimestamps.push(challenge.timeStamp);
});
newChallenges = newChallenges.filter(function (elem) {
return elem.newId;
});
console.log(newChallenges);
}
});
});