MongoDB 코드에서 연결

  • mongoose를 이용해 데이터베이스에 연결할 수 있다.

 

mongoose

  • mongoose는 MongoDB에 데이터를 쉽게 읽고 쓰게 해주는 JavaScript 라이브러리다.
  • Mongoose를 ODM ( Object Document Mapper ) 이라고도 부른다.
  • ODM ( Object Document Mapper ) 이란, JavaScript의 객체와 MongoDB의 문서 사이에서 매핑을 수행하는 도구다.
  • Javascript 코드에서 작업하는 객체 ( Object )를 MongoDB 데이터베이스의 문서 ( Document )로 쉽게 변환하거나, 반대로 문서를 개체로 변환해주는 작업을 수행한다.

 

mongoose 설치

  • 터미널에 yarn add mongoose 명령어를 통해 mongoose를 설치 할 수 있다.

https://www.npmjs.com/package/mongoose

 

mongoose

Mongoose MongoDB ODM. Latest version: 8.6.0, last published: 5 days ago. Start using mongoose in your project by running `npm i mongoose`. There are 18707 other projects in the npm registry using mongoose.

www.npmjs.com


mongoose의 문서 ( Document )

RDBMS 와 MongoDB 비교

 

  • MongoDB에서 가지고 있는 각 데이터 하나하나를 문서 ( Document )라고 정의한다.
  • 1개 이상의 Key-Value의 쌍으로 이루어져있다.
  • JSON 형식으로 구성되어있다.

mongoose의 컬렉션 ( Collection )

  • 컬렉션 ( Collection )은 여러개의 문서 ( Document )를 보유할 수 있는 MongoDB의 구성요소다.
  • JSON 형식의 여러가지 문서 ( Document )를 보유할 수 있다.
  • 컬렉션 ( Collection )은 고정된 구성요소가 존재하지 않고, 유연하게 구성할 수 있다.
  • 관계형 데이터 베이스 ( RDB ) 의 Table과 동일한 역할을 한다.

mongoose의 스키마 ( Schema )

  • 스키마 ( Schema )는 컬렉션 ( Collection )에 들어가는 문서 ( Document )가 어떤 종류의 값을 가질 것인지 정의하기 위해 사용한다.
  • 스키마 ( Schema )는 데이터의 구조와 어떤 제약 사항을 가지는지 정의하기 위해 사용하며, 일반적으로 데이터를 모델링할 때 사용한다.
  • 스키마 ( Schema )는 어떤 필드가 있어야 하는지, 필드는 어떤 데이터 타입을 가져야 하는지를 정의한다.
let UsersSchema = new mongoose.Schema({
  name: String, // 문자열 타입
  age: Number, // 숫자 타입
  favorites: [String], // 문자열 배열 타입
  createdAt: { type: Date, default: Date.now }, // 날짜 타입
  someId: mongoose.Schema.Types.ObjectId // ObjectId 타입
});

 

위는 사용자 정보를 정의한 스키마 ( Schema )의 예시다

 

mongoose의 모델

  • 모델 ( Model )은 데이터베이스에 데이터를 저장하고 읽어올 때 사용하는 데이터의 구조다
  • 스키마를 바탕으로 만들어지고, JavaScript의 객체와 MongoDB 간의 상호작용을 하기 위해 사용한다.
  • MongoDB의 실제 데이터를 다룰 수 있는 메서드를 지니고 있다.

 

 

  • MongoDB는 모든 데이터가 JSON 형태로 저장된다.
  • 복잡한 데이터 구조를 쉽게 저장할 수 있는 장점이 있다. ( 대용량 데이터를 손쉽게 처리할 수 있다 )
  • 데이터베이스 서버의 확장을 손쉽게 줄이고 늘일 수 있다.

 

MongoDB 대여

1. MongoDB Atlas

  • MongoDB Atlas는 MongoDB의 클라우드 버전이다. 이를 통해 어디에서나 쉽게 데이터베이스에 접근할 수 있다.

2. MongoDB Atlas 대여하기

  2.1 https://www.mongodb.com/ 접속

  2.2 MongoDB 사이트 회원가입 진행 

  

   2.3 M0 Free 선택

 

  2.4 Provider : AWS, Region : South Korea, Name : express-mongo 선택하고 Create

 

2.5 Username 과 Password를 입력하고 User 생성

  2.7 Go to Database를 클릭해 MongoDB 생성을 완료

 

3. MongoDB 주소 정보 조회하기

  • Connect 버튼을 클릭

 

  • Drivers를 선택

Drivers

 

  • 주소 정보를 확인

주소 정보

 

MongoDB의 주소 형식

대여한 MongoDB의 주소의 형식은 다음과 같다. 

mongodb+srv://<username>:<password>@express-mongo.iqizo.mongodb.net/?retryWrites=true&w=majority&appName=express-mongo

  • <username>, <password>: 여기에 생성한 사용자의 이름과 비밀번호를 입력야한다.

+ Recent posts