MongoDB Atlas 가입 후 호스팅받기
DB를 여러분 집 컴퓨터에 설치하기도 하지만 사이트를 실제 배포할 것이라면 클라우드 서비스를 이용하는 것이 매우 안전합니다.
백업도 알아서 해주고 갑자기 사람이 터질 때 용량 걱정도 없고 그리고 무엇보다 접속 속도가 빠릅니다.
근데 이걸 무료로 호스팅 해주는 고마운 MongoDB Atlas라는 사이트가 하나 있습니다.
MongoDB Atlas 가입/초기셋팅 방법
1. 구글에 Mongodb atlas 라고 검색해서 홈페이지를 방문합니다 .
2. 가입합니다. 아마 메일인증 필요?
▼ 3. 뭐 채우라고 하면 잘 채워봅니다 (나중에 변경가능)
▼ 4. 무료 티어를 선택합니다
▼ 5. 서버위치를 선택합니다. 한국과 물리적으로 가장 가까운 곳을 골라줍니다.
▼ 6. Database Access 메뉴에서 DB 접속용 아이디/비번을 생성합니다.
데이터베이스 접속할 수 있는 아이디/비번을 새로 만들어주는겁니다.
왜냐면 하나의 데이터베이스를 여러사람이 사용할 수도 있으니까요.
아주 안전해보이는 admin/qwer1234 이런 아이디 비번은 어떨까요 아무튼 만들고 잘 기억해두십시오.
▼7. Network Access 메뉴에서 IP를 추가합니다.
데이터베이스 접속할 수 있는 IP를 미리 정의해놓는 일종의 보안장치입니다.
어디서든 할 수 있게 Allow access from anywhere을 누르시거나 0.0.0.0/0 을 추가합니다.
▼8. Database / collection 만들기를 진행합니다.
Cluster는 하나의 호스팅 공간이고
거기 안에 여러분의 데이터베이스를 만들어야 데이터를 저장할 수 있습니다.
▲ 데이터베이스 이름을 맘대로 설정해주면 됩니다.
collection은 DB라는 폴더안에 있는 엑셀(?)파일 같은 겁니다.
collection name에도 원하는 파일이름을 적어주고 Create를 누르면 데이터베이스가 하나 생성됩니다.
이제 이 데이터베이스를 여러분의 컴퓨터에서 접속하려면 접속 url을 여러분 코드에 복붙해주면 됩니다.
접속 url엔 여러분의 디비 접속용 아이디/비번/데이터베이스 이름이 들어가야합니다.
DB 접속하는 URL 찾아오기
server.js에서 DB에 접속하려면 접속 방법을 알아야겠죠?
1. 메인화면 셋팅이 끝나면 CONNECT라는 작은 흰색 버튼 누르기
2. 가운데 Connect Your Application 버튼 누르기
3. (1) Choose your driver version 에서 Node.js 선택되어있는지 잘 확인하기
3. (2) 밑에 접속 URL(Connection String) 긴게 뜨면 복사해서 일단 메모장 같은 곳에 저장해놓기
끝입니다. 이거 접속 URL만 잘 써주시면 이제 Node.js로 돌아가는 파일에서 여러분 DB와 직접 통신이 가능합니다.
Server.js에서 DB접속하려면
1. 터미널 켜서 npm install mongodb 를 입력해서 라이브러리를 설치합니다.
그냥 MongoDB 접속을 쉽게 도와주는 라이브러리입니다.
2. server.js 상단에 다음 코드를 추가합니다.
3. 하단에 다음 코드를 입력해줍니다.
접속 URL은 대충 이렇게 생겼는데
mongodb+srv://디비계정아이디:디비계정패스워드@cluster0-qaxa3.mongodb.net/?retryWrites=true&w=majority
빨간 부분 3개를 여러분이 만든걸로 잘 채워 입력해야합니다.
그리고 app.listen이라고 그 서버 띄우는 코드를 여기 안으로 옮겨주시면 되겠습니다.
그리고 터미널에서 node server.js 또는 nodemon server.js로 서버를 실행시켜보면
터미널에 listening on 8080이라고 잘 뜨면 성공입니다.
warning 이런게 뜨는건 상관없는데 에러 등이 뜨거나 listening on 8080 글자가 안뜬다면
1. 접속 URL 양끝에 따옴표 잘있는지 확인하시고
2. URL 안에 아이디 비번란에 Atlas 계정이 아니라 Database Access 메뉴에서 만든 DB 계정 넣었는지 다시 확인하시고
3. URL 내에 비번 입력시 특수문자를 넣어야하시면 (참고) 하십시오. 귀찮으면 계정만들 때 특수문자를 넣지마세요.
4. Network Access 메뉴에서 허용한 IP에서 접속하고 있는지
5. app. listen 코드를 저기로 옮겼나요?
6. 나머지는 오타가 아닐까 싶습니다.
<출처 : 코딩애플 : Node.js, MongoDB로 2시간 만에 빠르게 웹서비스 만들기>
'Node.js' 카테고리의 다른 글
HTML에 DB데이터 꽂아넣는 법 (EJS & DB데이터 읽기) (0) | 2022.06.09 |
---|---|
MongoDB에 자료 저장하는 법 (0) | 2022.06.09 |
REST API란? (매우 순한맛ver.) (0) | 2022.06.09 |
폼에 입력한 데이터를 서버에 전송하는 법 (POST요청) (0) | 2022.06.09 |
Basic GET request (0) | 2022.06.03 |