Permalink
Browse files

JavaScript/nodejs fix (#2549)

  • Loading branch information...
nbrady-techempower committed Feb 6, 2017
1 parent 6259cac commit 0157274070e49f5b1eb1bd29445dfb318a85d901
@@ -1,69 +1,67 @@
var h = require('../helper');
var async = require('async');
var MongoClient = require('mongodb').MongoClient;
var collections = {
const h = require('../helper');
const async = require('async');
const MongoClient = require('mongodb').MongoClient;
const collections = {
World: null,
Fortune: null
};
MongoClient.connect('mongodb://127.0.0.1/hello_world?maxPoolSize=5', function (err, db) {
MongoClient.connect('mongodb://TFB-database/hello_world?maxPoolSize=5', (err, db) => {
// do nothing if there is err connecting to db
collections.World = db.collection('world');
collections.Fortune = db.collection('fortune');
});
function mongodbRandomWorld(callback) {
const mongodbRandomWorld = (callback) => {
collections.World.findOne({
id: h.randomTfbNumber()
}, function (err, world) {
}, (err, world) => {
world._id = undefined; // remove _id from query response
callback(err, world);
});
}
function mongodbGetAllFortunes(callback) {
collections.Fortune.find().toArray(function (err, fortunes) {
const mongodbGetAllFortunes = (callback) => {
collections.Fortune.find().toArray((err, fortunes) => {
callback(err, fortunes);
})
}
function mongodbDriverUpdateQuery(callback) {
collections.World.findAndModify({
id: h.randomTfbNumber()
}, [['_id','asc']], {
$set: {randomNumber: h.randomTfbNumber()}
}, {}, function (err, world) {
world.value._id = undefined; // remove _id from query response
callback(err, world.value);
const mongodbDriverUpdateQuery = (callback) => {
collections.World.findOne({id: h.randomTfbNumber()}, (err, world) => {
world.randomnumber = h.randomTfbNumber();
collections.World.update({id: world.id}, world, (err, updated) => {
callback(err, { id: world.id, randomnumber: world.randomnumber } );
});
});
}
module.exports = {
SingleQuery: function (req, res) {
mongodbRandomWorld(function (err, result) {
SingleQuery: (req, res) => {
mongodbRandomWorld((err, result) => {
if (err) { return process.exit(1) }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(result));
});
},
MultipleQueries: function (queries, req, res) {
var queryFunctions = h.fillArray(mongodbRandomWorld, queries);
MultipleQueries: (queries, req, res) => {
const queryFunctions = h.fillArray(mongodbRandomWorld, queries);
async.parallel(queryFunctions, function (err, results) {
async.parallel(queryFunctions, (err, results) => {
if (err) { return process.exit(1) }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(results));
});
},
Fortunes: function (req, res) {
mongodbGetAllFortunes(function (err, fortunes) {
Fortunes: (req, res) => {
mongodbGetAllFortunes((err, fortunes) => {
if (err) { return process.exit(1) }
fortunes.push(h.ADDITIONAL_FORTUNE);
@@ -77,15 +75,15 @@ module.exports = {
});
},
Updates: function (queries, req, res) {
var queryFunctions = h.fillArray(mongodbDriverUpdateQuery, queries);
Updates: (queries, req, res) => {
const queryFunctions = h.fillArray(mongodbDriverUpdateQuery, queries);
async.parallel(queryFunctions, function (err, results) {
async.parallel(queryFunctions, (err, results) => {
if (err) { return process.exit(1) }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(results));
});
}
};
};
@@ -1,64 +1,64 @@
var h = require('../helper');
var async = require('async');
var Mongoose = require('mongoose');
var connection = Mongoose.connect('mongodb://127.0.0.1/hello_world')
const h = require('../helper');
const async = require('async');
const Mongoose = require('mongoose');
const connection = Mongoose.connect('mongodb://TFB-database/hello_world')
// Mongoose Setup
var WorldSchema = new Mongoose.Schema({
const WorldSchema = new Mongoose.Schema({
id : Number,
randomNumber: Number
}, {
collection: 'world'
});
var FortuneSchema = new Mongoose.Schema({
const FortuneSchema = new Mongoose.Schema({
id: Number,
message: String
}, {
collection: 'fortune'
});
var Worlds = connection.model('World', WorldSchema);
var Fortunes = connection.model('Fortune', FortuneSchema);
const Worlds = connection.model('World', WorldSchema);
const Fortunes = connection.model('Fortune', FortuneSchema);
function mongooseRandomWorld(callback) {
const mongooseRandomWorld = (callback) => {
Worlds.findOne({
id: h.randomTfbNumber()
}).exec(callback);
}
function mongooseGetAllFortunes(callback) {
const mongooseGetAllFortunes = (callback) => {
Fortunes.find({})
.exec(callback);
}
module.exports = {
SingleQuery: function (req, res) {
mongooseRandomWorld(function (err, result) {
SingleQuery: (req, res) => {
mongooseRandomWorld((err, result) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(result));
})
},
MultipleQueries: function (queries, req, res) {
var queryFunctions = h.fillArray(mongooseRandomWorld, queries)
MultipleQueries: (queries, req, res) => {
const queryFunctions = h.fillArray(mongooseRandomWorld, queries)
async.parallel(queryFunctions, function (err, results) {
async.parallel(queryFunctions, (err, results) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(results));
});
},
Fortunes: function (req, res) {
mongooseGetAllFortunes(function (err, fortunes) {
Fortunes: (req, res) => {
mongooseGetAllFortunes((err, fortunes) => {
if (err) { return process.exit(1); }
fortunes.push(h.ADDITIONAL_FORTUNE);
fortunes.sort(function (a, b) {
fortunes.sort((a, b) => {
return a.message.localeCompare(b.message);
});
h.addTfbHeaders(res, 'html');
@@ -68,17 +68,17 @@ module.exports = {
});
},
Updates: function (queries, req, res) {
var selectFunctions = h.fillArray(mongooseRandomWorld, queries);
Updates: (queries, req, res) => {
const selectFunctions = h.fillArray(mongooseRandomWorld, queries);
async.parallel(selectFunctions, function (err, worlds) {
async.parallel(selectFunctions, (err, worlds) => {
if (err) { return process.exit(1); }
var updateFunctions = [];
const updateFunctions = [];
for (var i = 0; i < queries; i++) {
(function (i) {
updateFunctions.push(function (callback) {
for (let i = 0; i < queries; i++) {
((i) => {
updateFunctions.push((callback) => {
worlds[i].randomNumber = h.randomTfbNumber();
Worlds.update({
id: worlds[i].id
@@ -89,7 +89,7 @@ module.exports = {
})(i);
}
async.parallel(updateFunctions, function (err, results) {
async.parallel(updateFunctions, (err, results) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
@@ -100,4 +100,4 @@ module.exports = {
});
}
};
};
@@ -1,79 +1,79 @@
var h = require('../helper');
var async = require('async');
var mysql = require('mysql');
var connection = mysql.createConnection({
host : '127.0.0.1',
const h = require('../helper');
const async = require('async');
const mysql = require('mysql');
const connection = mysql.createConnection({
host : 'TFB-database',
user : 'benchmarkdbuser',
password : 'benchmarkdbpass',
database : 'hello_world'
});
connection.connect();
var queries = {
const queries = {
RANDOM_WORLD: "SELECT * FROM world WHERE id = " + h.randomTfbNumber(),
ALL_FORTUNES: "SELECT * FROM fortune",
UPDATE_WORLD: function (rows) {
UPDATE_WORLD: (rows) => {
return [
"UPDATE world SET randomNumber = ", rows[0].randomNumber,
" WHERE id = ", rows[0]['id']
].join('');
}
}
function mysqlRandomWorld(callback) {
connection.query(queries.RANDOM_WORLD, function (err, rows, fields) {
const mysqlRandomWorld = (callback) => {
connection.query(queries.RANDOM_WORLD, (err, rows, fields) => {
callback(err, rows[0]);
});
}
function mysqlGetAllFortunes(callback) {
connection.query(queries.ALL_FORTUNES, function (err, rows, fields) {
const mysqlGetAllFortunes = (callback) => {
connection.query(queries.ALL_FORTUNES, (err, rows, fields) => {
callback(err, rows);
})
}
function mysqlUpdateQuery(callback) {
connection.query(queries.RANDOM_WORLD, function (err, rows, fields) {
const mysqlUpdateQuery = (callback) => {
connection.query(queries.RANDOM_WORLD, (err, rows, fields) => {
if (err) { return process.exit(1); }
rows[0].randomNumber = h.randomTfbNumber();
var updateQuery = queries.UPDATE_WORLD(rows);
const updateQuery = queries.UPDATE_WORLD(rows);
connection.query(updateQuery, function (err, result) {
connection.query(updateQuery, (err, result) => {
callback(err, rows[0]);
});
});
}
module.exports = {
SingleQuery: function (req, res) {
mysqlRandomWorld(function (err, result) {
SingleQuery: (req, res) => {
mysqlRandomWorld((err, result) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(result));
});
},
MultipleQueries: function (queries, req, res) {
var queryFunctions = h.fillArray(mysqlRandomWorld, queries);
MultipleQueries: (queries, req, res) => {
const queryFunctions = h.fillArray(mysqlRandomWorld, queries);
async.parallel(queryFunctions, function (err, results) {
async.parallel(queryFunctions, (err, results) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(results));
});
},
Fortunes: function (req, res) {
mysqlGetAllFortunes(function (err, fortunes) {
Fortunes: (req, res) => {
mysqlGetAllFortunes((err, fortunes) => {
if (err) { return process.exit(1); }
fortunes.push(h.ADDITIONAL_FORTUNE);
fortunes.sort(function (a, b) {
fortunes.sort((a, b) => {
return a.message.localeCompare(b.message);
})
h.addTfbHeaders(res, 'html');
@@ -83,15 +83,15 @@ module.exports = {
});
},
Updates: function (queries, req, res) {
var queryFunctions = h.fillArray(mysqlUpdateQuery, queries);
Updates: (queries, req, res) => {
const queryFunctions = h.fillArray(mysqlUpdateQuery, queries);
async.parallel(queryFunctions, function (err, results) {
async.parallel(queryFunctions, (err, results) => {
if (err) { return process.exit(1); }
h.addTfbHeaders(res, 'json');
res.end(JSON.stringify(results));
});
}
}
}
Oops, something went wrong.

0 comments on commit 0157274

Please sign in to comment.