在NodeJS中使用MongoDB本机驱动程序的更好方法

时间:2014-07-05 06:24:05

标签: node.js mongodb node-mongodb-native

以下是我的问题所在的代码段

var MongoClient = require('mongodb').MongoClient
  , Server = require('mongodb').Server;

var mongoClient = new MongoClient(new Server('localhost', 27017));
mongoClient.open(function(err, mongoClient) {
  var db1 = mongoClient.db("mydb");
  mongoClient.close();
});

我在整个应用程序中使用相同的mongoClient对象来进行所有数据库操作,但是对于每个请求来说打开并连接数据库并不是一个消耗过程。我在使用mongoClient对象

时参考以下代码行
mongoClient.open(function(err, mongoClient) {
      var db1 = mongoClient.db("mydb");
      mongoClient.close();
});

或者通过连接到正确的数据库保持连接打开并使用相同的对象进行DB的所有读/写更好?如果这是更好的方法那么我该如何使用db1对象在我的其他模块中直接读取/写入mongo而不必每次都打开它?

1 个答案:

答案 0 :(得分:0)

MongoClient是一个连接池,通常意味着在您启动应用程序时打开,而在关闭之前不会关闭。所以你绝对不希望在每个请求上打开和关闭它;只需将其打开并在整个应用程序中共享它。