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 |