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의 문서 ( Document )
- 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의 실제 데이터를 다룰 수 있는 메서드를 지니고 있다.
'Javascript' 카테고리의 다른 글
[Javascript][Node.js] joi ( 유효성 검증 ) (0) | 2024.09.04 |
---|---|
[Javascript][Node.js] Middleware ( 미들웨어 ) (0) | 2024.09.03 |
[Javascript][Node.js] Mongo DB (0) | 2024.09.02 |
[Javascript][Node.js] Express.js - req, res 객체 (0) | 2024.08.30 |
[Javascript][Node.js] Request, Response (0) | 2024.08.30 |