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
'Node' 카테고리의 다른 글
HTTP의 특징,webSocket의 특징 (2) | 2024.09.26 |
---|---|
객체 지향 (1) | 2024.09.25 |
Express.js 의 req,res객체 (0) | 2024.09.04 |
Routing / API Client /DB Client (0) | 2024.09.01 |
export/import (0) | 2024.08.31 |