관리 메뉴

프론트엔드 정복하기

Node_Schema & Model 본문

Node/Node_tool 사용법

Node_Schema & Model

GROWNFRESH 2020. 5. 16. 11:54

1. Schema setting

1. mongoose 불러오기

const mongoose = require ('mongoose');

 

2. schema 설정하기

const userSchema = mongoose.Schema({

    name:{

        type:String,

        maxlength:50

    },

    email:{

        type:String,

        trim:true,

        unique:1

    }

})

 

3. model 설정하기

const User=mongoose.model('User',userSchema)

   model ( '모델 이름' , 스키마 상수 )

 

4. 내보내기(export)

 module.exports = {User} 

 

 

 

 

2. Mongoose Schema 속성

- type

: String, Number, Boolean, Array, Buffer, Date, ObjectId, Mixed, Object

   ex) type : Object (변수 안에 담긴 내용   : let variable={key1:value1, key2:value2} )

   ex) type : Schema.Types.ObjectId

https://mongoosejs.com/docs/api/schema.html

 

-required : 꼭 입력해야 한다. ( : true )
-unique : 다른 행과 중복되면 안 된다. ( : 1 )
-trim : 공백을 제거합니다.(문자열 타입에 사용) ( : true )
-default : 문서가 생성되면 기본값으로 저장됩니다. ( : Date.now )

   : 사용자가 아무것도 입력하지 않을 경우 default값으로 저장된다.
-lowercase : 대문자를 소문자로 저장한다(문자열 타입) ( : true )
-match : 정규식으로 저장하려는 값과 비교한다. ( : /^\d{3}-\d{3,4}-\d{4}$/ )
-validate : 함수로 개발자가 조건을 만듭니다.
-set : 값을 입력할 때 함수로 조건을 만듭니다.
-get : 값을 출력할 때 함수로 조건을 만듭니다.
-ref : 해당하는 모델을 참조할 때 사용한다. ( : 'model명' )

-maxlength

-minlength

 

 

ex) validate

  validate: [ function(password){

                 return password&&password.length>6;

                  },'비밀번호를 입력하거나 길이가 6보다커야합니다.'

              ]

 

 

 

 

 

 

참고 사이트

https://m.blog.naver.com/rwans0397/220696586520

 

'Node > Node_tool 사용법' 카테고리의 다른 글

Node_Auth  (0) 2020.05.18
Node_회원가입 라우터  (0) 2020.05.16
Node_로그인 라우터(+쿠키 +comparePW + token)  (0) 2020.05.16
Node_Bcrypt로 비밀번호 암호화  (0) 2020.05.13
Node_비밀 설정 정보 관리  (0) 2020.05.13