快速服务器

时间:2016-03-03 11:25:00

标签: node.js mongodb express connection monk

我的服务器需要一次处理太多请求(例如:100 req / sec),它涉及db(mongodb)操作。为此,我选择 Express Server 来处理这些请求。我用快递设置服务器。在这里,我想为整个服务器只创建一个db-connection。

实现目标: 在app.js

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/testdb1');

app.use(function (req, res, next) {
    req.db1 = db;
    //console.log(req.db1);
    next();
});
在routes.js中

router.get('/user', function (req, res) {
    if (req) {        
     find = {};
     var db1 = req.db1;
     var userCollection = db1.get(collections.user);
     var testCollection1 = db1.get(collections.testTable1);
     var testCollection2 = db1.get(collections.testTable2);

     userCollection.find(find, function (err, doc) {
         console.log('1');
     });
     testCollection1.find(find, function (err, doc) {
           console.log('2');
     });
     testCollection2.find(find, function (err, doc) {
           console.log('3');
     });
    }
});

问题是:

让当前的mongodb连接(cmc)= 1; 服务器在提升时创建一个连接(cmc ++)。当我发出路由请求(/ user)时,第一次创建了另一个连接(cmc ++)。当我再次发出请求时,会再创建一个连接(cmc ++)。之后,虽然我向该路线提出了许多请求,但计数仍然相同(cmc = 4)。究竟发生了什么? 我需要在提出请求时更新更多集合。由于集合上的操作数增加了连接数。 连接数增加的原因。我想只创建一个连接。

0 个答案:

没有答案