-
mongoose middleware 제작Today I Learned 2020. 1. 8. 17:16
문제
다른 document의 내용을 manual reference 통해 참조하는 방법을 채택하고 프로젝트를 진행했다. 그러나, 어떤 document가 삭제되었을 때, 이것을 참조하는 document에서는 cascade 하게 삭제되지 않는 문제가 발생했다.
해결
stackoverflow에서 비슷한 사례들을 찾아본 결과, 자체적으로 연쇄적으로 지워주는 기능을 수행하는 미들웨어를 제작하는 방법으로 해결했다. 그래서 model 폴더에 존재하는 각각의 파일들에 미들웨어를 제작해 사용했다.
model/Comment.js
위의 코드는 getQuery를 통해 함수의 입력 파라미터를 받고, 두 번의 query를 이용해 User, board document에 필요없는 _id 값을 삭제하는 기능을 수행하는 미들웨어이다.
출처
https://stackoverflow.com/questions/14348516/cascade-style-delete-in-mongoose
'Today I Learned' 카테고리의 다른 글
MongoDB populate (0) 2020.01.09 getQuery (0) 2020.01.08 VS Code 특정 단어 한번에 수정하기 (0) 2020.01.07 AWS region에 따른 속도 차이 (0) 2020.01.03 moment (0) 2019.12.29