update 시 $set 설정을 안하면 사용자가 설정한 값만 덮어씌워진다. 해당 field만 바꾸고 싶다면 꼭 $set 붙여야 함. findAndModify도 마찬가지.
첫번째 인자는 찾을 값이다. 투어팁스라는 이름을 찾았다. 두번째 인자는 바꿀 값이다. url, name, explain, category 등의 field를 변경한다.
1 2 | db.recommendsites.update({name:'투어팁스'}, {url:'https://www.jobkorea.co.kr/',name:'jobkorea',explain:'취업 포털',category:'getjob'}) | cs |
만약 name이라는 특정 field만 변경하고 싶다면
1 2 | db.recommendsites.update({name:'투어팁스'}, {$set:{explain:'취업 포털'}}) | cs |
findAndModify는 new:true면 수정 이후 값을 반환한다. 수정한 이후에 값이 어떻게 바뀌었는지 사용자에게 보여주려면 findAndModify 메소드를 사용한다.
upsert란 update+insert의 합성어다. update를 하되 변경하려는 값이 없으면 insert를 해버리는 것이다. 찾으려는 값이 없음에도 불구하고 설정한 값을 저장하려면 upsert:true를 해주면 된다.
https://www.zerocho.com/category/MongoDB/post/579e2821c097d015000404dc
'과목 > 빅데이터' 카테고리의 다른 글
Mongoose에서 findOneAndUpdate 사용하기 (0) | 2018.08.22 |
---|---|
MongoDB findOneAndUpdate (0) | 2018.08.21 |
MongoDB 문장 속에 있는 일치하는 단어 찾기 regex pattern for finding a specific word that belong somewhere. (0) | 2018.08.11 |
NoSQL RDBMS 비교 (0) | 2018.07.28 |
Hadoop Mapreduce 개요 (0) | 2018.05.02 |