[MongoDB] mongoose를 이용해서 node와 db연결하기

적자생존·2023년 1월 8일
0

Node

목록 보기
11/17

1. mongodb 세팅하기

mongodb를 바닐라로 설치해서 사용할 수 있지만 매우 비효율적이며 코드도 길어지기 때문에 mongoose를 설치해준다.

mongoose를 프로젝트에 설치하려면

npm install --save mongoose를 입력해주고 프로젝트에 설치한다.

이후 atlas에 들어가서 db를 생성해준다.

로그인이 완료 되었으면 프로젝트에 들어가서 New Project로 project를 만들어 준다.

프로젝트를 생성하였다면 프로젝트에 들어가 주고 좌측 탭을 확인해준다.

빨간 박스를 위에서 순서대로 설정해준다.

Database에 들어가서 Create를 이용해서 cluster를 만들어준다.

이때 무료버전(Shared) - seoul region을 입력하여 생성한다.

클러스터가 만들어졌으면 Database Access를 들어간다.

add를 누른뒤 userName, 비밀번호를 설정하여 db에 접근권한을 만들어준다.

마지막으로 Network Access를 들어가서

마찬가지로 add를 누른뒤 현재 내 IP를 입력해준다.

Network Access는 어떤 IP에서 접근할 것인지를 알려주는 것이다.

이렇게 세팅하면 연결할 준비가 완료 되었다.

2. Express에서 mongodb세팅하기

1번에서 mongoose를 설치하였기 때문에 app.js에서 db를 연결하는 작업을 할 것이다.

app.js

const mongoose = require("mongoose")

//생략

// db연결 전

app.listen(5000)

// db연결 후

mongoose.connect("url").then(() => {app.listen(5000)}).catch(err => {console.log(err)})

위와 같이 수정 해주고 다시 atlas로 돌아와 준다.

좌측 탭에서 database로 들어와 주고

connect - connect your application

빨간 박스 부분을 복사해서 vs코드로 넘어온다.

mongoose.connect("url").then(() => {app.listen(5000)}).catch(err => {console.log(err)})

이제 복사한 url을 위의 코드 url에 붙여넣기 하는데 이때 password부분에 access database에 입력한 비밀번호를 입력해준다.

이후 npm start를 통해 연결이 되었는지 확인해준다.

3. 에러

MONGOOSE] DeprecationWarning: Mongoose: the strictQueryoption will be switched back tofalseby default in Mongoose 7. Usemongoose.set('strictQuery', false);if you want to prepare for this change. Or usemongoose.set('strictQuery', true);to suppress this warning. (Usenode --trace-deprecation ... to show where the warning was created)

라는 에러가 보일 수 있다.

이때 mongoose.set("strictQuery", false);를 세팅해주면 사라진다.

profile
적는 자만이 생존한다.

0개의 댓글