[Node.js, MongoDB] 몽고디비 생성하고 Node.js 연결하기

Aubri·2023년 2월 19일
0

Aubri on NodeJS

목록 보기
2/3

내 서비스에 사용할 디비인 몽고디비와 nodejs 서버를 연결시켜보겠다!
서버는 구축되어 있다는 가정하에 진행합니다.

1. MongoDB 생성하기

회원가입, 로그인

Mongodb 홈페이지 에 들어가 회원가입/로그인 등을 진행해준다.

organization, project 생성

처음 들어가면 아마 자동으로 organization은 생성될 것이고, project 도 새로 생성해준다.
그러면 다음과 같은 화면이 뜬다.

좌측 상단에서 내가 설정한 프로젝트 이름으로 잘 들어와졌는지 확인해주자.

database 생성

Build a Database 버튼을 눌러 디비를 생성한다.
과금을 할 생각이라면 가격 정책을 적절히 선택하고, 우리는 무료 버전인 M0 FREE 를 선택하자.

디비 region과 provider, 클러스터 이름 등을 변경할 수 있다.
다 선택했다면 create 버튼을 눌러준다.

보안 설정


디비에 접근할 때 어떤 방식으로 할지 선택할 수 있다. 나는 간단하게 username and password 로 사용할 것이다. 여기서 적절하게 자신이 사용할 이름과 패스워드를 지정해주자.이 때, 만약 자동 생성을 사용한다면 잘 카피해두자.
create user를 누르면 이렇게 잘 생성된 모습을 볼 수 있다.

그 다음은 연결 IP를 설정하는 것인데, 자신의 ip를 추가할 수도 있고, ip 매니지 페이지에서 모든 연결을 허락할 수도 있다.

모든 연결 수락하는 방법

Network Access Manage 페이지로 가서, ADD IP ADDRESS를 누르고, ALLOW ACCESS FROM ANYWEHRE 버튼을 클릭해 컨펌해준다.

끝났다면 Finish and Close 를 눌러준다.


성공적으로 추가된 모습을 확인할 수 있다.

2. Node.js connect

Atlas Connect

클러스터이름 옆의 Connect 버튼을 클릭한다.
우리는 우리 nodejs app 과 연결할 것이기 때문에 Connect your application 을 선택한다.

다음과 같은 창이 나오면 코드를 복사해 내 앱에 추가해준다.

Node.js Connect

이렇게 index.js (자신의 엔트리 포인트) 에 해당 uri를 적어준다.
이때 password 부분을 자신이 아까 user 등록시에 적어뒀던 비밀번호로 변경해준다.

**주의**

이 때, 비밀번호는 남에게 절대 공유하면 안되기 때문에 따로 환경 변수 파일을 만드는 등의 방법으로 관리하는 것이 좋다. 특히 깃헙 등에 올라가면 모두가 내 디비에 접근할 수 있기 때문에 접근을 통제해야한다.

환경변수로 관리하는 방법

여기서 나온것처럼 .env 파일을 생성하고 설정한뒤, MONGODB_PASSWORD 등의 변수에 password를 저장한다음,


이런식으로 적용해주면 된다.

Mongoose 설치

우리는 Mongoose 라이브러리를 사용해 연결할 것이다.

npm install mongoose

몽구스를 설치해준다.

index.js에 몽구스를 임포트 해주고, 아까 적어둔 uri와 연결한다. 이 때 비밀번호는 절대 노출되지 않게 조심해주세요!!

strictQuery

커넥트할 때 오류가 발생할 수 있는데(오류는 기억이 안남..) strictquery 를 true로 설정해준다.

이렇게 하면 연결이 잘 되는 모습을 볼 수 있다. 끝!

profile
Delivering Happiness.

0개의 댓글