是否有必要closuresnodejs中的mongodb连接?

我是新的nodejs和mongodb。 在MongoDB本地驱动程序网站,他们在每个请求后closures连接,但似乎是在高stream量网站非常缓慢和问题。 我只是很想知道是否有必要这样做,或者我可以声明一个全局variables,并像这样的DB引用:

var mongodbClient = require('mongodb').MongoClient; var db; function connect() { mongodbClient.connect('connection string', function (err, mdb) { db = mdb; }); } connect(); function insert(query, collection, fn) { db.collection(collection) .insert(query, function (er, da) { fn(er, da); }); } function find(query, collection, fn) { db.collection(collection) .find(query).toArray(function (er, da) { fn(er, da); }); } 

我不想用mongoose,更喜欢学习和理解发生了什么。

文档中的示例实际上并不适合现实生活中的用例。 如果您使用的是服务器框架,您通常可以连接到mongo并在整个应用程序中共享对连接的引用。 我使用hapi并通过一个插件连接到服务器,它允许我存储句柄来打开连接。 这可以让你清理closures服务器。 他们有很多模块可以用来pipe理我最近编写的mongo,比如mongoose,水线或者wadofgum-mongodb 。