작성하다가 막힌 부분의 소스코드는 하기 링크에 있습니다.
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. 내가 모르는 $ 연산자의 존재?
Blog 에 달린 모든 댓글을 모두 지우는 함수 구현의 경우...
unchaptered
작성일
22.03.24 16:11
조회수
211
댓글 1
강의에서 $pull을 사용하지 않았나요?
$pull: { comments : {
// pull 조건
// 예시) _id: commentId
}}
그리고 언급하신 첫번째 방법(save)도 자주 사용되요. 다만 이 경우 디비에 두번의 요청(find, save)이 들어가게 되서 시간이 좀 더 소요되는 점이 있어요.
답글
unchaptered
2022.03.27앗,, 해당 부분 인강을 듣기 전에 질문을 남겼었는데,
그냥 외부 질문으로 달아서 따로 질문이 올라간것 같네요... ㅠㅠ
감사합니다..!!!