해결된 질문
작성
·
139
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": "명수" } })
이렇게 해봤는데 값이 수정되지 않습니다.ㅠㅠ 답변 기다리겠습니다.
답변 1
1
유성현님 안녕하세요 :)
와우 스타트업이라니 멋지십니다! ㅎㅎ
아래와 같이 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 })