以下是我的问题所在的代码段
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而不必每次都打开它?
答案 0 :(得分:0)
MongoClient
是一个连接池,通常意味着在您启动应用程序时打开,而在关闭之前不会关闭。所以你绝对不希望在每个请求上打开和关闭它;只需将其打开并在整个应用程序中共享它。