강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Dev님의 프로필 이미지
Dev

작성한 질문수

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

arrayFilter

arrayFilters 질문

해결된 질문

작성

·

194

1

안녕하세요!

항상 강의 잘듣고 있습니다.

감사합니다.

  Blog.updateMany(

          {},

          { 'comments.$[element].user.name': name },

          { arrayFilters: [{ 'element.user._id': userId }] },

   )

위 코드에서는 모든 blog를 대상으로 arrayFilters를 수행한다고 이해했는데요, 제가 이해가 가지 않는 부분은 왜  조건을 {} (빈 객체)로 설정했는지 입니다.

{"comments.user._id" : userId}로 조건을 건다면 모든 blog 중에서 comments의 해당 userId가 존재하는 blog만을 대상으로 arrayFilters를 수행해서 좀 더 효율적이라고 생각하는데 이 부분에 대해서 설명 부탁드립니다.

감사합니다 :)

퀴즈

59%나 틀려요. 한번 도전해보세요!

초기 API 설계에서 관련 데이터를 분리하여 저장했을 때 발생했던 비효율성 문제로, 데이터를 모으기 위해 여러 번의 호출이 필요한 현상은 무엇일까요?

Isolation Problem

N+1 Problem

Dependency Hell

Concurrency Issue

답변 1

1

Dev님 안녕하세요 :)

좋은 지적입니다. 만약 comments.user._id가 인덱스 처리가 되어 있지 않다면 크게 차이가 안날 수도 있는데요. 인덱스 처리가 되어 있기 때문에 이 경우 말씀하신대로 탐색 조건을 추가해주시는게 효율에 더 좋습니다. 해당 강의에 안내 추가해두도록 할게요!

Dev님의 프로필 이미지
Dev
질문자

감사합니다 :)

Dev님의 프로필 이미지
Dev

작성한 질문수

질문하기