inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

mongoDB 기초부터 실무까지(feat. Node.js)

Promise.all - Response Time 개선하기

Blog 에 달린 모든 댓글을 모두 지우는 함수 구현의 경우...

265

unchaptered
1

작성하다가 막힌 부분의 소스코드는 하기 링크에 있습니다.

22-03-express-mongodb/commentsControllers.js at 8e3f068b21d2943c7f2fbb9a9cc89facf4249487 · unchaptered/22-03-express-mongodb (github.com)

유저, 게시글, 댓글에 대한 RESTful API 설계가 거의 다 끝나고 마지막으로 **Blog 에 달린 모든 댓글을 모두 지우는 함수 구현의 경우** 를 구현하려고 하고 있습니다.

하지만, $pop $shift 등은 맨 앞과 맨 뒤를 지우는 것이며 $indexof 를 통해 인덱스를 알아내더라도 해당 열을 정확히 지우는 것이 불가능하다고 인지하고 있습니다.

현재 예상하고 있는 솔루션은 다음의 2가지가 있습니다만, **이 선택지 중에 괜찮은 것이 있는지** 그리고 **다른 추천안** 이 있을지가 궁금해졌습니다.

1. 각 모델의 comments 을 뽑아와서 기준 값을 제거하고 남은 배열을 반환, 이 배열을 다시 comments 에 덮어씌우고 save()
2. 내가 모르는 $ 연산자의 존재?

답변 1

0

김시훈 (도도소프트)

강의에서 $pull을 사용하지 않았나요?

$pull: { comments : {

  // pull 조건

 // 예시) _id: commentId

}}

 

그리고 언급하신 첫번째 방법(save)도 자주 사용되요. 다만 이 경우 디비에 두번의 요청(find, save)이 들어가게 되서 시간이 좀 더 소요되는 점이 있어요. 

0

unchaptered

앗,, 해당 부분 인강을 듣기 전에 질문을 남겼었는데,
그냥 외부 질문으로 달아서 따로 질문이 올라간것 같네요... ㅠㅠ

감사합니다..!!!