node.js와 mongoDB로 웹 만들기 (4) mongoDB 연결

2023. 1. 13. 00:17·Node.js
728x90

* 개발환경 - 윈도우, VS Code 

 

1. mongoDB Cluster 구축

 

MongoDB Atlas: Cloud Document Database

Cloud-hosted MongoDB service on AWS, Azure, and GCP

www.mongodb.com

위 사이트 들어가서 로그인. 난 구글 아이디로 함.

무료 버전인 'shared' 선택 -> 구글 클라우드, 서울 선택 -> Create Cluster 클릭

Network Access -> Add IP Address 클릭

728x90

ALLOW ACCESS FROM ANYWHERE 선택 후 Confirm 클릭

 

접속할 때 사용할 Username과 Password 설정

 

Database -> Connected -> Connect your application 선택

 

링크 복사 버튼 눌러서 코드 복사

 

 

2. mongoDB 설치

 

 

3. server.js 에 다음 코드 입력

let db;
const db_url = 'mongodb+srv://minji:<password>@cluster0.7aje40r.mongodb.net/?retryWrites=true&w=majority';
MongoClient.connect(db_url, (error, client)=>{
    if (error) {
        return console.log(error);
    } 
    else {
        global.db = client.db('node');    // node: 저장소 이름
        app.listen(8080, ()=>{
            console.log('server on');
        })
    }
})

db_url 의 주소는 복사해둔 코드를 ' ' 안에 넣으면 되고 <password> 부분에는 아까 설정한 비밀번호로 바꾸면 됨.

(<>안에 넣는게 아니라 <>까지 다 지우고 비번 입력해야됨)

 

그리고 다음과 같이 수정. 이렇게 변할 수 있는 부분만 따로 빼서 관리하면 코드 공유할 때나 다음 프로젝트 만들 때 더 편함

const db_id = '';     // id 입력
const db_pw = '';     // pw 입력
const db_cluster = 'cluster0';
const db_url = 'mongodb+srv://' + db_id + ':' + db_pw + '@' + db_cluster + '.7aje40r.mongodb.net/?retryWrites=true&w=majority';
let db;
MongoClient.connect(db_url, (error, client)=>{
    if (error) {
        return console.log(error);
    } 
    else {
        app.listen(8080, ()=>{
            global.db = client.db('node');    // node: 저장소 이름
            console.log('server on');
        })
    }
})

 

 

4. dotenv 설치

 

5. server.js에 dotenv 사용 선언

require('dotenv').config();

 

 

6. 프로젝트에 .env 파일 생성 후 아래 코드 작성

DB_ID = ""    // id 입력
DB_PW = ""    // pw 입력
DB_CLUSTER = "cluster0"
SERVER_PORT = 8080

 

7. server.js 코드 수정

const db_id = process.env.DB_ID;
const db_pw = process.env.DB_PW;
const db_cluster = process.env.DB_CLUSTER;
const server_port = process.env.SERVER_PORT;
const db_url = 'mongodb+srv://' + db_id + ':' + db_pw + '@' + db_cluster + '.7aje40r.mongodb.net/?retryWrites=true&w=majority';
let db;
MongoClient.connect(db_url, (error, client)=>{
    if (error) {
        return console.log(error);
    } 
    else {
        app.listen(server_port, ()=>{
            global.db = client.db('node');    // node: 저장소 이름
            console.log('server on');
        })
    }
})

 

 

8. cmd에서 서버 실행

DB연결에 성공

728x90

'Node.js' 카테고리의 다른 글

[Node.js] http 모듈로 서버 구축하기(1) - http 모듈, fs 모듈  (0) 2024.03.04
node.js와 mongoDB로 웹 만들기 (5) 아이디 중복체크(ajax)  (0) 2023.01.17
node.js와 mongoDB로 웹 만들기 (3) 로그인, 회원가입  (0) 2023.01.12
node.js와 mongoDB로 웹 만들기 (2) 서버 구축 및 실행  (0) 2023.01.11
node.js와 mongoDB로 웹 만들기 (1) node.js, npm 설치  (0) 2023.01.10
'Node.js' 카테고리의 다른 글
  • [Node.js] http 모듈로 서버 구축하기(1) - http 모듈, fs 모듈
  • node.js와 mongoDB로 웹 만들기 (5) 아이디 중복체크(ajax)
  • node.js와 mongoDB로 웹 만들기 (3) 로그인, 회원가입
  • node.js와 mongoDB로 웹 만들기 (2) 서버 구축 및 실행
gamzaggang7
gamzaggang7
    250x250
  • gamzaggang7
    abcdefghklpqrstuvwxyz
    gamzaggang7
  • 전체
    오늘
    어제
    • 분류 전체보기
      • CS
        • OS
        • 자료구조_알고리즘
      • Java
      • Javascript
      • Node.js
      • React
      • Vue.js
      • 코딩테스트
        • 백준-Java
        • 프로그래머스-JS
      • Canvas
      • HTML, CSS
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    정렬
    2차원배열
    vue.js
    스택
    큐
    해시
    canvas
    자바공부
    자바
    프로그래머스
    til
    라우팅
    hashchange
    BFS
    백준풀이
    css
    vue modal
    fecolormatrix
    React
    vue animation
    Node.js
    자바백준풀이
    npm
    props
    Next.js
    서버구축
    오즈코딩스쿨
    자바스크립트
    dat.gui
    fegaussianblur
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gamzaggang7
node.js와 mongoDB로 웹 만들기 (4) mongoDB 연결
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.