Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- docker
- wireshark
- MongoDB
- mongoose
- typeorm
- postman
- HTML
- mysql
- OS
- TypeScript
- Util
- Android
- Express
- DATABASE
- ubuntu
- Scheduling
- Crawling
- macos
- AWS
- node.js
- Kotlin
- python
- React
- linux
- sequelize
- css
- S3
- algorithm
- Network
- OOAD
Archives
- Today
- Total
Seongwon Lim
[MongoDB] Mongoose를 이용하여 Node.js와 MongoDB 연결하기 본문
반응형
서론
이전 포스팅에서 MongoDB Atlas를 이용하여 클러스터를 생성하는 과정까지 알아보았다. 따라서 클러스터 환경 설정이 되지 않는 분들은 위 포스팅 글을 참고하여 진행하면 좋을 것 같다.
이번 포스팅에서는 Node.js 서버를 이용해서 생성한 클러스터에 연결해보는 작업을 할 것이다.
Node.js & MongoDB 연결하기
필자는 데이터베이스를 연결하기 위한 라이브러리로 mongoose를 사용했다.
How to install mongoose?What is Mongoose?
MongoDB ODM의 라이브러리 중 하나로 데이터베이스 연결 및 스키마 구성과 스키마를 실제 모델로 적용하는 기능을 제공한다.또한, Promise와 Callback 기능을 제공한다.
- npm install mongoose —-save 명령어를 통해 모듈을 설치한다.
참고로 필자는 express 환경에서 실습을 진행했으며 express 모듈을 설치하기 위해서는
- npm install express --save 명령어를 입력하면 된다.
코드 구성하기
서버 실행을 위한 app.js 파일을 다음과 같이 정의했다.
const express = require('express');
const app = express();
const mongoose = require('mongoose');
const DB_ADDRESS = "mongodb+srv://<username>:<password>@cluster0.ab7ss.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"
// 해당 옵션은 mongoose 버전이 6.0 이상인 경우 몽구스 자체가 해당 옵션을 기억하고 있기 때문에 사용하지 않아도 된다.
let mongooseOption = {
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
useFindAndModify: false,
};
// mongoose 버전이 6.0 이상인 경우 2번째 파라미터 변수를 삭제
mongoose.connect(DB_ADDRESS, mongooseOption
).then(() => {
console.log("MongoDB Connect")
}).catch((err) => {
console.log(err)
});
app.listen(3000, () => {
console.log("Server is Running!");
});
- username : 데이터베이스 유저 생성 시 설정한 이름
- password : 데이터베이스 유저 생성 시 설정한 비밀번호
필자는 예시를 들기 위해 동일 파일에 DB_ADDRESS 라는 데이터베이스 연결을 위한 변수를 생성했지만 실제로는 보안을 위해 .env파일 등에 정의한 뒤 참조하여 값을 읽을 수 있도록 해야한다.
위와 같이 코드를 작성하고 node app.js 명령어를 통해 서버를 실행시킨다.
서버 실행 후 생성한 데이터베이스에 정상적으로 연결이 되었다면 아래와 같은 결과를 얻을 수 있다.
연결 성공시 콘솔에 MongoDB Connect 라는 메세지를 반환한다. 만약에 유저 인증에 실패했다면 아래와 같은 에러가 나타날 것이다.
이처럼 Authentication failed 에러를 반환한 것을 확인할 수 있다.
다음 포스팅 글에서는 스키마를 이용하여 모델을 정의하는 예제를 살펴볼 것이다.
'MongoDB' 카테고리의 다른 글
[MongoDB] Node.js mongoose를 이용한 CRUD (0) | 2022.05.09 |
---|---|
[MongoDB] Node.js mongoose를 이용한 스키마와 모델 구성 및 API 예제 (0) | 2022.05.09 |
[MongoDB] MongoDB Atlas를 이용하여 데이터베이스 구축하기 (0) | 2022.05.09 |
Comments