Node

Mongoose Schema

한우종 2024. 9. 6. 21:29
mongoose
  • mongoose 란?
mongoose 는 Node.js 환경에서 MongoDB와 상호작용하기 위한 ODM 라이브러리 이다.
간단히 말해 MongoDB데이터를 JS객체로 다루기 쉽게 해주는 도구이다.

 

  • Schema 란?
스키마는 MongoDB 컬렉션에 들어가는 문서(document) 가 어떤 종류의 값을 가질 것인지 정의하기 위해 사용한다.

스키마는 데이터의 구조와 어떤 제약사항을 가지는지 정의하기 위해 사용하며 일반적으로 데이터를 모델링할 때 사용한다.

스키마는 어떤 필드(Field)가 있어야하는지, 필드는 어떤 데이터 타입을 가져야 하는지를 정의한다.

 

  • 스키마 정의

예시

const userScheam = new mongoose.Schema({
      name:String,//문자열
      age:Number,//숫자
      strArr:[String],//문자열배열
      createdAt:{type:date,default:date.now},//날짜타입
      id:mongoose.Schema.types.ObjectId,//ObjectId타입
})

 

  • 대표적인 스키마 타입
스키마 타입 설명 과 예시
null null값과 존재하지 않는 필드 
ex:null
String 문자열
Number 숫자
Date 날짜
ex:new Date()
Buffer 파일을 담을 수 있는 버퍼,UTP - 8 이 아닌 문자열을 저장
ex: 0x65
Boolean true OR false
ObjectId 객체 ID , 주로 다른 객체를 참조할 때 넣는다.
ex:objectId()
Array 배열 형태의 값 
ex:["a","b","c"]

 

  • 스키마 필드
① . type : 데이터 타입을 지정함
ex) type:Number

② . required : 이 필드가 있어야 하는가 를 나타냄
ex)required: true

③ . unique : 이 필드의 값이 유일 해야함을 나타냄
ex: unique : true