2015-06-11 4 views
0

В My app.js у меня есть эта часть кода.Nodejs, соединяющий базу данных по каждому запросу

app.use(function(req,res,next){ 
    req.db = db; 
    next(); 
}); 

Так что в основном установка db в каждом запросе.

Я хотел бы знать, лучший способ получить доступ к БД из других JS-файлов Если какой-либо один может дать некоторые образцы, то это будет большим подспорьем для меня

+0

Создайте промежуточное программное обеспечение, которое соединяется с БД, тогда просто потребуйте, чтобы это промежуточное программное обеспечение, где вам нужно, оно будет кэшироваться и просто сохранить одно соединение. – adeneo

+2

Узнайте, как [Модули] (https://nodejs.org/api/modules. html # modules_modules). 'db' должен быть модулем. Вы просто «требуете» его в своих других js-файлах – laggingreflex

+0

ok, поэтому существующий код в app.js является var mongo = require ('mongodb'); var monk = require ('monk'); var db = monk ('localhost: 27017/table'); Поэтому вы хотите сказать, что мне нужно использовать один и тот же код во всех js-файлах, где мне нужно использовать db. Будет ли это влиять на время загрузки js, может ли это быть лучшим способом? – Gerrard

ответ

1

узел Модули кэшируются, таким образом, если вы сделали модуль с:

db.js

//... 
module.exports=monk('localhost:27017/table'); 

и когда вам это нужно в другом файле, вы можете просто позвонить:

var db=require('db.js'); 

Только в первый раз, когда вы его назовете, будет запущена функция monk. Объект будет кэшироваться, и тот же объект будет возвращен в любом последующем require.

Смежные вопросы