MongoDB를 VScode에서 쓰기 쉽게 하기 위한 Mongoose 사용
사용방법
- Terminal을 열어 yarn add mongoose 작성
package.json에 depenencies에 mongoose가 있는지 확인
MongoDB와 RDBMS의 관계
비슷하지만 구성요소의 형식이 다르다.
MongoDB의 컬렉션이란?
- 컬렉션은 여러개의 문서를 보유할 수 있는 MongoDB의 구성요소
- JSON 형식의 여러가지 문서를 보유할 수 있다
.
Mongoose의 스키마란?
- 스키마는 컬렉션에 들어가는 문서가 어떤 종류의 값을 가질 것인지 정의하기 위해 사용
- 스키마는 데이터의 구조와 어떤 제약 사항을 가지는지 정의하기 위해 사용하며, 일반적으로 데이터 모델링을 할 때 사용한다.
- 스키마는 어떤 필드가 있어야 하는지, 필드는 어떤 데이터 타입을 가져야하는지를 정의한다.
스키마의 타입 : null[결과값 존재하지 않는 필드], String[문자열], Number[숫자], Date[날짜], Buffer[파일 담을 버퍼], Boolean[true or false 정보], ObjectId[객체 ID, 주로 다른 객체를 참조할 때 넣음], Array[배열형태의 ]
Mongoose의 모델이란?
-모델은 데이터베이스에 데이터를 저장하고 읽어올 때 사용되는 데이터의 구조
-스키마를 바탕으로 만들어지고, JS의 객체와 MongoDB간의 상호작용을 하기 위해 사용
- MongoDB의 실제 데이터를 다룰 수 있는메서드를 지니고 있다.
스키마 실제 개발해보기
조건
실제코드
// /schemas/goods.js
import mongoose from "mongoose";
// 상품(goods)에 대한 정보를 나타내는 스키마를 정의합니다.
const goodsSchema = new mongoose.Schema({
goodsId: {
type : Number, // 상품의 고유 ID를 나타냅니다.
required: true, // 필수 항목입니다.
unique:true // 중복된 값을 허용하지 않습니다.
},
name:{
type: String, // 상품의 이름을 나타냅니다.
required: true,
unique:true
},
thumbnailUrl:{
type: String // 상품의 썸네일 이미지 URL을 나타냅니다.
},
category:{
type: String // 상품의 카테고리를 나타냅니다.
},
price:{
type:Number // 상품의 가격을 나타냅니다.
}
});
// 위에서 정의한 스키마를 이용하여 'Goods'라는 이름의 모델을 생성합니다.
export default mongoose.model("Goods",goodsSchema);
'코딩 > Javascript' 카테고리의 다른 글
[TIL 17일차] req, res 객체 (추후 추가예정) (0) | 2024.05.16 |
---|---|
[TIL 16일차] api router 와 api response (0) | 2024.05.14 |
[TIL 15일차 - 3]모듈(module) (0) | 2024.05.13 |
TIL 15일차 - 2) Express.js 를 이용한 백엔드 서버 개발 (0) | 2024.05.13 |
TIL 15일차 ) Node.js 정리 (0) | 2024.05.13 |