Browse Source

Add update test for nodejs-mongodb-raw

Patrick Falls 12 years ago
parent
commit
7607f278f1
2 changed files with 36 additions and 1 deletions
  1. 1 0
      nodejs/benchmark_config
  2. 35 1
      nodejs/hello.js

+ 1 - 0
nodejs/benchmark_config

@@ -18,6 +18,7 @@
       "setup_file": "setup",
       "setup_file": "setup",
       "db_url": "/mongodbdriver",
       "db_url": "/mongodbdriver",
       "query_url": "/mongodbdriver?queries=",
       "query_url": "/mongodbdriver?queries=",
+      "update_url": "/update-mongodb?queries=",
       "port": 8080,
       "port": 8080,
       "sort": 47
       "sort": 47
     },
     },

+ 35 - 1
nodejs/hello.js

@@ -64,6 +64,12 @@ function mongodbDriverQuery(callback) {
   });
   });
 }
 }
 
 
+function mongodbDriverUpdateQuery(callback) {
+  collection.findAndModify({ id: getRandomNumber()}, [['_id','asc']], {$set: {randomNumber: getRandomNumber()}}, {}, function(err, world) {
+    callback(err, world);
+  });
+}
+
 function sequelizeQuery(callback) {
 function sequelizeQuery(callback) {
   World.findById(getRandomNumber(), function (err, world) {
   World.findById(getRandomNumber(), function (err, world) {
     callback(null, world);
     callback(null, world);
@@ -196,14 +202,19 @@ http.createServer(function (req, res) {
             if (err) {
             if (err) {
               throw err;
               throw err;
             }
             }
+            callback(null, rows[0]);
           });
           });
-          callback(null, rows[0]);
         });
         });
       });
       });
     } 
     } 
 
 
     var values = url.parse(req.url, true);
     var values = url.parse(req.url, true);
     var queries = values.query.queries || 1;
     var queries = values.query.queries || 1;
+    if queries < 1 {
+      queries = 1;
+    } else if queries > 500 {
+      queries = 500;
+    }
     var queryFunctions = new Array(queries);
     var queryFunctions = new Array(queries);
 
 
     for (var i = 0; i < queries; i += 1) {
     for (var i = 0; i < queries; i += 1) {
@@ -218,6 +229,29 @@ http.createServer(function (req, res) {
     });
     });
     break;
     break;
 
 
+  case '/update-mongodb':
+    // Database Test
+    var values = url.parse(req.url, true);
+    var queries = values.query.queries || 1;
+    if queries < 1 {
+      queries = 1;
+    } else if queries > 500 {
+      queries = 500;
+    }
+
+    var queryFunctions = new Array(queries);
+
+    for (var i = 0; i < queries; i += 1) {
+      queryFunctions[i] = mongodbDriverUpdateQuery;
+    }
+
+    res.writeHead(200, {'Content-Type': 'application/json; charset=UTF-8'});
+
+    async.parallel(queryFunctions, function(err, results) {
+      res.end(JSON.stringify(results));
+    });
+    break;
+
   default:
   default:
     // File not found handler
     // File not found handler
     res.writeHead(501, {'Content-Type': 'text/plain; charset=UTF-8'});
     res.writeHead(501, {'Content-Type': 'text/plain; charset=UTF-8'});