본문 바로가기

백엔드/MongoDB

DataBase (6) - Middlewares

Middlewares

 

 

Mongoose v7.3.3: Middleware

Middleware (also called pre and post hooks) are functions which are passed control during execution of asynchronous functions. Middleware is specified on the schema level and is useful for writing plugins. Mongoose has 4 types of middleware: document middl

mongoosejs.com

해시태그를 처리(#을 붙여주거나 삭제) or 코멘트를 저장하기 전에 비속어 필터 등 데이터베이스를 저장하거나 업데이트하기 전 mongoose의 Middleware를 활용할 수 있다.(pre, post, hook) 데이터 베이스가 저장되기 전에 어떤 것들을 우선적으로 처리하고 나머지를 처리할 수 있게 도와준다.

 

"

middleware는 model이 생성되기 전에 만들어 져야 한다!

minddleware 함수안에는 this라는 키워드가 있다. this는 저장하고자 하는 문서를 가리킨다.

"

 

 

데이터를 저장하는 업로드에 적용가능한 middleware가 있어 중간에 개입하여 해쉬태그 형식을 바꿔줬지만 수정(edit), update하는 findByIdAndUpdate를 위한 middleware가 존재하지 않는다. pre("save) 적용안된다. 이를 해결하기 위해서는 2가지 방법이 있다.

 

[ 1 ] model, Video.js에 function을 만들어서 불러오기 -> export, import 해야함

함수
좌) 업로드 우) 업데이트

1번 방법도 괜찮은 방법이다! 하지만 조금 더 간단하게 사용할 수 있는 static 방법이 있다.

 

 

[ 2 ] static를 활용한 방법 -> export / import 할 필요없이 바로 사용 가능하다.

 

반응형