mongodb在express服务器上的连接机制

我的服务器需要一次处理太多的请求(例如:100 req / sec),这涉及db(mongodb)操作。 为了做到这一点,我select了Express Server来处理这些请求。 我用express来设置服务器。 在这里我想为整个服务器创build一个数据库连接。

要实现它:在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; 服务器在提升时创build一个连接(cmc ++)。 当我请求路由(/用户)第一次创build另一个连接(cmc ++)。 当我再次提出请求时,又创build了一个连接(cmc ++)。 之后,尽pipe我向这条路线提出了一些要求,但是数量仍然相同(cmc = 4)。 到底发生了什么? 请求时,我需要更新更多的集合。 由于收集操作数量增加,连接数量不断增加。 为什么连接数量正在增加。 我只想创build一个连接。