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

jjongrrr님의 프로필 이미지
jjongrrr

작성한 질문수

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

arrayFilter

안녕하세요 배열필터 궁금한점이 있습니다

작성

·

285

0

강의 잘 보고 있어요

질문 너무 자주 남겨 죄송합니다 ..(_ _)

 

필터를 걸지않고 그냥 검색하려고 했는데 안되는 이유를 도저히 모르겠어서 질문 남깁니다 

 

다른 조건 없이 아이디만 일치하는 조건으로 검색해보려고 시도 해보니 안되더라구요 ..

await Blog.updateMany(
{ 'comments.user._id': userId },
{ 'commnets.$.user': user },
{ new: true }
);

 

배열필터로 하면 잘 됩니다 

그 이유가 뭘까요 ㅠㅠ

await Blog.updateMany(
{ 'comments.user._id': userId },
{ 'comments.$[co].user': user },
{ arrayFilters: [{ 'co.user._id': userId }] }
);

 

답변 2

1

김시훈님의 프로필 이미지
김시훈
지식공유자

이 부분 강의에서 다루었는데 확인해보셨나요?

 

이 객체로 일단 문서를 찾습니다

{ 'comments.user._id': userId },

 

nesting된 부분이 배열인 경우 arrayFilter를 이용해줘야 되요. 내장된 배열에서 구체적으로 무엇을 수정하고 싶은지 골라주는거에요

0

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

아하 무조건 써야되는게 맞군요 감사합니다~

jjongrrr님의 프로필 이미지
jjongrrr

작성한 질문수

질문하기