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