✅mongoDB 연결하기
이제 기존의 파일들을 mongoDB와 연결해보자.
먼저 mongoDB 사이트(https://www.mongodb.com/)에 들어가서 회원가입 후 로그인한다.
organization에서 설정한 후 왼쪽 projects눌러서 새 프로젝트를 생성한다.
next를 누르면 다음 화면이 뜬다. Build a Database 버튼을 누르자.
버튼을 누르면 다음 화면이 뜬다. 우리는 무료 버전을 사용할 것이기 때문에 Shared의 Create를 누른다.
사용할 클라우드를 선택한 후 나라를 선택한다. 우리나라는 유료이므로 가장 가까운 싱가포르를 선택했다. 화면 가장 아래 부분에서는 project의 이름도 설정해줄 수 있다.
Create Cluster를 누르고 5~7분정도 기다리면 다음 화면이 뜬다. 여기서 connect버튼을 눌러준다.
현재 위치의 ip를 설정한 후, User name과 password를 설정한다. 이는 User name과 password는 기억하고 있어야한다.
Choose a connection method버튼을 누르면 다음 화면이 뜨고, Connect your application을 눌러준다.
아래 화면에서 2번에 있는 링크를 복사해준다.
💨version을 4.0 later로 설정했더니 MongoParseError가 계속 떴다. 그보다 아래 버전으로 설정해야하는 것 같다.
이제 mongoose를 설치 할 것이다. mongoose는 간단하게 말해서, 몽고DB를 편하게 쓸수 있는 Object Modeling Tool이다. 터미널에 npm install mongoose --save입력한다.
💨"--save" : package.json 파일에 "dependencies"에 mongoose가 추가되어 이 어플리케이션에서는 mongoose라이브러리를 쓰고 있다는 것을 알려준다.
이제 다시 index.js파일을 열어준다. 다음과 같이 코드를 수정한다.
const express = require('express') // express 모듈을 가져온다.
const app = express() // 함수를 이용해서 새로운 express 앱을 만든다.
const port = 5000 // 포트번호는 5000으로 한다.
const mongoose = require('mongoose') // mongoose 모듈을 가져온다.
mongoose.connect('mongodb://<username>:<password>@nodejsbasic-shard-00-00.ycong.mongodb.net:27017,nodejsbasic-shard-00-01.ycong.mongodb.net:27017,nodejsbasic-shard-00-02.ycong.mongodb.net:27017/nodejsbasic?ssl=true&replicaSet=atlas-iv1wzl-shard-0&authSource=admin&retryWrites=true&w=majority')
// mongoos를 이용하여 앱을 데이터베이스와 연결한다.
.then(() => console.log('MongoDB Connected...')) // 정상적으로 연결되면 console에 MongoDB Connected...를 출력한다.
.catch(err => console.log(err)) // 에러가 발생하면 console에 에러를 출력한다.
app.get('/', (req, res) => {
res.send('Hello World!')
}) // /에서 Hello World! 출력한다.
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
}) // 5000번 포트에서 실행하고 console에 Example app listening at http://localhost:${port}를 출력한다.
아까 복사한 링크를 붙여넣고나서 <username>과 <password>부분에 본인이 설정한 username과 password를 입력한다.
터미널에 npm run start를 입력하면 5000번 포트에 Hello World가 출력된다.
'WEB > NODE.JS' 카테고리의 다른 글
[NODE.JS] 5장 패키지 매니저 (0) | 2023.04.18 |
---|---|
[NODE.JS] 4장 HTTP 모듈로 서버 만들기 (0) | 2023.04.17 |
[NODE.JS] 1장 노드 시작하기 (0) | 2023.04.13 |
[NODE.JS] 3. mongoDB model & Schema (0) | 2021.10.06 |
[NODE.JS] 1. Node.js와 Express.js 다운로드하기 (2) | 2021.10.01 |