Лучший подход с использованием собственного драйвера MongoDB в NodeJS

Вот фрагмент кода, в котором мой вопрос

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();
});

Или лучше оставить соединение открытым с соединением с нужной базой данных и использовать один и тот же объект для всех операций чтения/записи в БД???Если это лучший подход, то как я могу использовать объект db1 в моем другом модули для прямого чтения/записи в монго без необходимости открывать его каждый раз ??


person Karthic Rao    schedule 05.07.2014    source источник


Ответы (1)


MongoClient — это пул соединений, который обычно открывается при запуске приложения и не закрывается до тех пор, пока вы его не закроете. Таким образом, вы абсолютно не хотите открывать и закрывать его по каждому запросу; просто оставьте его открытым и поделитесь им во всем приложении.

person JohnnyHK    schedule 05.07.2014