(app.js)
let db;
const url = process.env.DB_URL;
new MongoClient(url).connect().then((client) => {
console.log("DB연결성공");
db = client.db("forum");
app.listen(process.env.PORT, () => {
console.log("Server has opened.");
});
})
.catch((err) => {
console.log(err);
});
<hr />
라우터 분리하는 강좌에서 질문입니다.
router.js로 분리한 파일에는 db관련한 코드가 없는데 이를 어떻게 해결할 것인가에서
파일마다 db코드를 복붙하면 그 파일들이 모두 db연결을 다시 하기 때문에 db에 부담이 가서 비추인 걸로 이해했는데요,
db부분을 파일로 따로 빼서 분리한 후 require하는 것도 어차피 마찬가지 동작이 아닌지 궁금합니다.
(database.js)
const { MongoClient, ObjectId } = require("mongodb");
const url = process.env.DB_URL;
let connectDB = new MongoClient(url).connect() module.exports = connectDB
이 database.js를 라우터 파일들에서 require해서 connectDB로 실행시키면, 어차피 위에서 언급한
파일마다 db코드를 복붙해 넣어서 매 파일마다 db연결이 다시 실행되는 것과 같은 결과가 아닌가요?
중복을 피하기 위해 이렇게 사용한다는 것은 이해되는데 이게 일일히 복붙해 넣는 것과
require하는 것이 db에 주는 영향이 어떻게 다른지 알려주실수 있나요?