안녕하세요 명절 잘 보내고 돌아왔습니다!
오늘은 MongoDB의 스키마와 모델이라는 것에 대해 공부해 보려고 합니다.
스키마는 간단히 말하면 데이터 베이스에 생성할 데이터의 특성을 정의하는 것입니다.
스키마를 한 번 만들어 보겠습니다.
먼저 폴더를 하나 만들고 이름은 Models로 하겠습니다.
안에는 User.js라는 파일을 하나 만들어 줍니다.
먼저 몽구스 모듈을 불러와야 합니다.
const mongoose = require('mongoose');
이 코드 작성으로 몽구스 모듈을 사용할 수 있습니다.
const userSchema = mongoose.Schema({
name:{
type : String,
maxlength:50
},
email:{
type : String,
trim : true,
unique : 1
},
password : {
type: String,
minlength:5
},
lastname:{
type : String,
maxlength:50
},
role:{
type: Number,
default : 0
}
}
)
스키마는 이렇게 만들 수 있습니다.
변수에 mongoose.Schema를 붙이고 괄호안에 정의하고 싶은 데이터를 코딩하면 됩니다.
type : String
type은 말 그대로 데이터의 타입이며
String, Number, Array 등이 올 수 있습니다.
maxlength:50
minlength:5
maxlength와 minglength를 이용해서 데이터의 글자 수를 조정할 수 있습니다.
trim : true
trim은 공백을 제거해주는 특성입니다.
true로 설정하면 제거, false는 default 값이기 때문에 지정하지 않아도 됩니다.
unique : 1
unique는 데이터의 고유성입니다
1을 입력하면 중복 데이터를 만들 수 없습니다.
다음은 모델에 대한 개념입니다.
const User = mongoose.model('User', userSchema)
코드는 이렇구요.
모델은 스키마를 감싸서 하나의 묶음으로 사용하게 해줍니다.
module.exports = {User}
이렇게 exports를 통해서 모델을 내보내면
스키마를 다른 파일에서 이용할 수 있습니다.
감사합니다.
'MongoDB' 카테고리의 다른 글
[MongoDB] PostMan을 사용해서 회원가입 구현 (0) | 2024.02.13 |
---|---|
[MongoDB] Mongosh를 사용해서 데이터 관리 (0) | 2024.02.07 |
[MongoDB, React] Mongoose로 MongoDB와 연결하기 (feat.에러들) (0) | 2024.02.04 |
[MongoDB] MongoDB 초기 설정 (2) | 2024.01.23 |