1. 몽고디비 사이트 접속
몽고디비 사이트에 접속한다.
Build a Database 버튼을 눌러 cluster를 생성한다.
다음과 같은 설정으로 cluster를 생성해준다.
cluster 이름은 boilerplate로 해주었다.
username과 password를 입력하여 몽고DB 유저도 생성해주었다.
mongoDB가 생성되면 Connect 버튼을 누르고
connect your application을 선택한다.
밑의 코드를 copy한 후
index.js에 붙여넣기한다.
2. Mongoose 다운로드
Mongoose는 간단하게, 몽고DB를 편하게 쓸 수 있는 Object Modeling Tool이다. 다음의 명령어를 통해 Mongoose를 다운로드한다.
Mongoose가 다운로드된 것을 package.json에서 확인 가능하다.
3. MongoDB 와 어플리케이션 연결
다음의 코드를 index.js에 넣어 어플리케이션과 mongoDB를 연결한다.
const mongoose = require('mongoose')
mongoose.connect('mongodb + srv://<몽고디비 username>:<password>@boilerplate.nbsovwf.mongodb.net/?retryWrites=true&w=majority', {})
에러를 방지하기 위해 중괄호 부분에 다음과 같이 넣어준다. (생략)
const mongoose = require('mongoose')
mongoose.connect('mongodb + srv://<몽고디비 username>:<password>@boilerplate.nbsovwf.mongodb.net/?retryWrites=true&w=majority', {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
})
몽고디비와 잘 연결되었는지 확인하기 위해 then과 catch문을 추가한다.
const mongoose = require('mongoose')
mongoose.connect('mongodb + srv://<몽고디비 username>:<password>@boilerplate.nbsovwf.mongodb.net/?retryWrites=true&w=majority', {
useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false
}).then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err))
4. npm run start 오류와 해결방법
어플리케이션을 키기 위해 npm run start를 실행하였는데 다음과 같은 오류들이 떴다.
(node:12984) [MONGOOSE] DeprecationWarning: Mongoose: the `strictQuery` option will be switched back to `false` by 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.
먼저 strictQuery관련 오류를 해결하기 위하여 다음 코드를 추가해주었다.
mongoose.set('strictQuery', false);
다시 npm run start를 실행하였는데 MongoParseError가 떴다.
MongoParseError: options usecreateindex, usefindandmodify are not supported
구글링해본 결과 mongoose 6버전 이상에서는 더 이상 useNewUrlParser, useUnifiedTopology, useFindAndModify, useCreateIndex 를 지원하지 않기 때문에 지워주면 된다고 한다. 그래서 mongoose.connect부분을 다음과 같이 수정했다.
const mongoose = require('mongoose')
mongoose.connect('mongodb + srv://<몽고디비 username>:<password>@boilerplate.nbsovwf.mongodb.net/?retryWrites=true&w=majority', {})
.then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err))
다시 npm run start를 실행했더니 성공했다.
'JavaScript, React 🍦 > [Node React]노드리액트기초강의' 카테고리의 다른 글
[NodeJS][노드 리액트 기초 강의 #7] BodyParser & Postman & 회원 가입 기능 (0) | 2023.01.03 |
---|---|
[NodeJS][노드 리액트 기초 강의 #6] SSH를 이용해 GITHUB 연결 (0) | 2023.01.03 |
[NodeJS][노드 리액트 기초 강의 #5] Git 설치 (0) | 2023.01.03 |
[NodeJS][노드 리액트 기초 강의 #4] MongoDB Model & Schema (0) | 2023.01.02 |
[NodeJS][노드 리액트 기초 강의 #2] nodejs와 express js 다운로드하기 (0) | 2022.12.30 |