강의

멘토링

커뮤니티

Inflearn Community Q&A

you's profile image
you

asked

mongoDB from basics to practice (feat. Node.js)

질문있습니다!

Resolved

Written on

·

161

1

우선 마른 사막에 단비같은 강의 정말 잘보고있습니다. 강의 듣기전에는 혼자서 하느라 얼마나 고생했는지 몰라요ㅠㅠㅠ

각설하고 제가 스타트업으로 개발을 하고있는데 막히는 부분이 있습니다.

예를들어 users라는 스키마에 { id: 12, name: '형돈', freind: [{ id:81, name:'홍철' }, { id:66, name:'재석 }] }

이라는 Document가 존재합니다.

제가 하고싶은건 id가 12인 document를 찾고서, document 내부 freind 배열에서 id가 66인곳에 {name: '명수'} 로 수정하고싶은데 어떻게 해야할지 잘 모르겠습니다.

제가 막히는 부분 =>> user.findOneAndUpdate({ id:12, "freind.id": 66 }, { $set: { "freind.name": "명수" } })

이렇게 해봤는데 값이 수정되지 않습니다.ㅠㅠ 답변 기다리겠습니다.

데이터 엔지니어링javascriptDBMS/RDBMSnodejsmongodbrest-apiaws

Answer 1

1

sihoon님의 프로필 이미지
sihoon
Instructor

유성현님 안녕하세요 :)

 

와우 스타트업이라니 멋지십니다! ㅎㅎ 

아래와 같이 friend.$.name 이렇게 해주시면 됩니다!

user.findOneAndUpdate({ id:12, "freind.id": 66 }, { $set: { "freind.$.name": "명수" } })

 

그리고 만약 결과값으로 업데이트 이후의 데이터를 받고 싶응시면 옵션으로 {new: true}를 해주시면 되고요!

user.findOneAndUpdate({ id:12, "freind.id": 66 }, { $set: { "freind.$.name": "명수" } }, {new: true })

 

you's profile image
you

asked

Ask a question