본문 바로가기

express

mongoose

ODM : Object Document Mapping : 객체와 문서의 매핑.

Object는 JS의 객체, Document는 MongoDB의 문서 => 문서를 DB에서 조회할 때 자바스크립트 객체로 바꿔주는 역할.

 

mongoos의 장점 :

- Schema 이용.

- populate

- Promise / Callback

- easy~ Query builder

 

 

Schema

몽구스는 사용자가 작성한 스키마를 기준으로 데이터를 DB에 넣기 전에 먼저 검사합니다.

스키마에 어긋나면 에러를 발생시킵니다.

 

Schema.protytype.pre()

'pre()' 메서드는 지정된 메서드 전에 원하는 작업을 진행하게 만든다.

var toySchema = new Schema({ name: String, created: Date });

toySchema.pre('save', function(next) {
  if (!this.created) this.created = new Date;
  next();
};

위 코드는 'save' 전에 callback을 실행( if (!this.created) this.created ~ ; )

 

Schema.prototype.post()

'post()' 메서드는 지정된 메서드뒤에 바로 callback 메서드를 실행하게 한다.

var schema = new Schema(..);
schema.post('save', function (doc) {
  console.log('this fired after a document was saved');
});

'save'되면 바로 callback을 실행.( console.log('this fired~'); )

 

Promise

쓰는 이유: 코드 중첩 완화, 조건부 퀄, 에러 한번에 처리.

let myFirstPromise = new Promise((resolve, reject) => {
  setTimeout(function() {
    resolve("Success!");
  }, 250);
});

myFirstPromise.then((successMessage) => {
  console.log("Yay! " + successMessage);
});

 

'express' 카테고리의 다른 글

Thinkster node.js API 강의 후기.  (0) 2020.05.01
routing _express docs  (0) 2020.05.01
execPopulate() /mongoose.  (0) 2020.04.29
payload  (0) 2020.04.29
Prifiles for Users /node  (0) 2020.04.28