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에서 접근할 것인지를 알려주는 것이다.
이렇게 세팅하면 연결할 준비가 완료 되었다.
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를 통해 연결이 되었는지 확인해준다.
MONGOOSE] DeprecationWarning: Mongoose: the
strictQueryoption will be switched back to
falseby default in Mongoose 7. Use
mongoose.set('strictQuery', false);if you want to prepare for this change. Or use
mongoose.set('strictQuery', true);to suppress this warning. (Use
node --trace-deprecation ... to show where the warning was created)
라는 에러가 보일 수 있다.
이때 mongoose.set("strictQuery", false);
를 세팅해주면 사라진다.