[유튜브 클론코딩] 3.1 Connecting to MongoDB

2021. 3. 1. 16:40Projects/유튜브 클론코딩

728x90
반응형

3.1 Connecting to MongoDB

Mongoose를 이용해서 MongoDB에 연결하기 - db.js

import mongoose from "mongoose";

mongoose.connect("mongodb://localhost:27017/mytube",

{

    useNewUrlParser: true,

    useFindAndModify:false

});

↑ db.js

db.js에 다음과 같이 작성한다. 의미는 몰라도 된다.

 

import mongoose from "mongoose";

mongoose.connect("mongodb://localhost:27017/mytube",

{

    useNewUrlParser: true,

    useFindAndModify:false

});

const db = mongoose.connection;

const handleOpen = () => console.log("✅ Connected to DB");

const handleError = () => console.log("❌ Error on DB Connection: ${error}");

db.once("open", handleOpen);

db.on("error",handleError);

↑ db.js

이렇게 작성하면,

데이터베이스에 연결되었다면 ✅ Connected to DB 라는 메시지가 콘솔에 뜬다.

지금 이게 데이터베이스가 왜 연결이 되고 있는거냐면 예전에 videoController.js에서 가짜로 작성했던 db.js가 import되어있기 때문인데, 그 부분을 일단 지워준다.

 

 

// import {videos} from "../db" //이 부분 삭제!

import routes from '../routes';

↑ videoController.js

 

그러면 실행해도 데이터베이스가 연결이 안된다.

이 데이터베이스 import 부분은 init.js로 갈것이다.

 

import "./db";

import app from "./app";

const PORT = 4000;

const handleListening = () => console.log(`✅Listening on: http://localhost:${PORT}`);

app.listen(PORT, handleListening);

↑ init.js

이렇게 되면 데이터베이스가 잘 연결이 된 것이다.

 

dotenv 설치하기

dotenv 설치 : npm install dotenv

dotenv란 사용자의 정보를 숨기고 싶을 때 사용한다.

오픈소스(깃허브)에 프로젝트를 공개했을 경우, 민감한 정보들을 다른 사람으로부터 숨겨야(보안성)할 경우가 생긴다.

그럴 때 dotenv 패키지를 사용하여 환경변수 파일을 외부에 만들고, 접근 관리할 수 있다.

 

 

*dotenv 사용은 다음 시간에

728x90
반응형