update
// name이 Kwon Hyeok Jin인 문서를 찾아 name을 Kim Hyeok Jin으로 바꾸고 age 또한 15으로 바꾼다
db.test.update({ 'name': 'Kwon Hyeok Jin' }, { 'name': 'Kim Hyeok Jin', 'age': 15 });
위 메소드를 사용할때 유의할 점은 name이 Kwon Hyeok Jin인 문서의 기존 데이터들은 전부 삭제가 되고 name, age로만 구성이 된다.
mongodb.collection.update({ name: 'Kwon Hyeok Jin' }, { $set: { age: 15 } });
위 메소드는 $set을 사용하였다. 이렇게 사용하면 기존 데이터들은 유지가 되고 age만 15로 변경된다.
updateOne 메소드 또한 존재하고 여타 One 메소드와 똑같이 데이터 한개만 업데이트한다.
findAndModify
mongodb.collection.findAndModify({ query: { name: 'Kwon Hyeok Jin' }, update: { $set: { age: 15 } }, new: true });
findAndModify는 update 메소드와는 달리 upsert과 remove까지 같이 수행할 수 있다.
인자가 옵션 객체 하나인데 여러 개의 속성을 넣어줘야 한다. query가 대상을 찾는 법, update가 대상을 수정할 내용, new가 수정 이전의 다큐먼트를 반환할지, 수정 이후의 다큐먼트를 반환할 지 결정하는 부분이다. { new: true }를 넣으면 수정 이후의 다큐먼트를 반환한다.
'WEB > Node.JS' 카테고리의 다른 글
[express] 정적(static) 파일 서비스 (0) | 2021.05.27 |
---|---|
[express] mongodb 데이터 삭제(remove, delete) (0) | 2021.04.28 |
[express] mongodb 데이터 삽입(insert, save) (0) | 2021.04.28 |
[express] mongodb 데이터 검색(find, findOne) (0) | 2021.04.28 |
[Node.js] express란 (0) | 2021.04.27 |