start writing user migration for challenge completion
This commit is contained in:
@ -65,6 +65,7 @@ var userSchema = new mongoose.Schema({
|
|||||||
default: ''
|
default: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
portfolio: {
|
portfolio: {
|
||||||
website1Link: {
|
website1Link: {
|
||||||
type: String,
|
type: String,
|
||||||
|
35
seed_data/userMigration.js
Normal file
35
seed_data/userMigration.js
Normal 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);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
Reference in New Issue
Block a user