module.exports = function(grunt) { grunt.registerTask('load-asv', "Loads the ASV verses", function() { var done = this.async(); var path = '../dbs/t_asv.json'; var json = grunt.file.readJSON(path).resultset.row; var MongoClient = require('mongodb').MongoClient; MongoClient.connect('mongodb://localhost/BibleDev', function(err, db) { if(err) throw err; var versesColl = db.collection('verse'); grunt.log.writeln('Got collection: ' + versesColl); grunt.log.writeln('Going to process ' + json.length + ' verses.'); for(var i = 0; i < json.length; i++) { var verse = {}; for(var k = 0; k < json[i].field.length; k++) { var value = json[i].field[k]['_']; var key = json[i].field[k]['$']['name']; if(key == 'c') key = 'chapter'; else if (key == 'v') key = 'verse'; else if (key == 'b') key = 'book'; else if (key == 't') key = 'text'; else if (key == 'id') key = 'reference'; verse[key] = value; verse['number'] = i; } versesColl.insert(verse, function(err, results) { if(err) throw err; }); } versesColl.count(function(err, count) { if(err) throw err; grunt.log.writeln('Wrote ' + count + ' verse(s).'); done(); }); }); }); };