[ 몽고 DB ] MongoDB $set 업데이트 (Update)

MongoDB에서 업데이트 하는 방법을 알아보겠습니다. 업데이트를 위해서는 update() 메소드를 사용합니다. 다음과 같은 데이터가 있다고 가정하겠습니다. 우선 검색을 통해서 send 값이 false 인 것들만 조회 해보겠습니다. 목적이 모든 send 값을 true로 변경하려고합니다.

 

$set 업데이트 

 

조회의 경우 find() 메서드를 사용합니다. find 메서드에 {send:false} 검색조건으로 조회를 합니다. 그럼 전체 데이터에서 send 값이 false인 문서만 조회됩니다.

db.getColleciont('ip').find({send: false})

 

 

업데이트

 

find() 메서드 대신 update() 메서드로 변경합니다. 인자 값은 총 3개입니다.

첫번째 인자는 조회조건입니다.

두번째 인자는 변경할 요소입니다. 만약 $set키워드를 사용하지 않는다면 해당 내용으로 문서 전체가 변경됩니다.

세번째 인자는 옵션입니다. upsert를 할 것인지 여러개의 문서를 모두 수정할 것인지를 선택합니다.

db.getCollection('ip').update( { send: false }, { $set: { send: true}}, { upsert: false, multi: true } )

 

 

만약 전체 문서에 대해서 수정을 하려면 첫번째 인자를 {} 로 변경합니다. 그럼 모든 문서의 send 값이 true로 변경됩니다.

db.getCollection('ip').update( {}, { $set: { send: true}}, { upsert: false, multi: true } )

 

 

이 밖에도 몽고 DB는 $unset, $push, $pull 같은 업데이트 명령어가 있습니다. $set의 경우는 일반적으로 가장 많이 사용되는 업데이트 명령어입니다. 다음에 $unset, $push, $pull 같은 업데이트 메서드도 같이 알아보겠습니다. 그럼 지금까지 간단하게 $set 명령어를 사용하여 MongoDB에 값을 업데이트 하는 방법을 알아봤습니다.

댓글

Designed by JB FACTORY