게시글

5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭
강좌9 - MongoDB - 8년 전 등록 / 7년 전 수정

필드 수정 연산자

안녕하세요. 이번 시간은 필드 수정 연산자에 대해 알아보겠습니다. 다큐먼트의 필드를 수정하는 연산자들입니다. 제일 많이 쓰이는 연산자이기 때문에 꼭 알아둘 필요가 있습니다.

필드 수정 연산자

$inc

예전에 봤죠? 필드 값을 증가시키거나 감소시키는 연산자입니다. 양수면 증가, 음수면 감소입니다.

{ $inc: { 필드: 숫자 } }

$mul

필드 값에 곱하는 연산자입니다. 1보다 큰 수를 곱하면 커지고, 1보다 작은 수를 곱하면 작아집니다. 쿼리의 순서에 조심하세요. $inc는 필드 안의 속성이었다면, 이번에는 필드가 $mul 안의 속성입니다.

{ $mul: { 필드: 숫자 } }

$rename

필드 이름을 바꾸는 연산자입니다. 여러 필드를 동시에 교체할 수 있습니다.

{ $rename: { 필드1: 이름, 필드2: 이름, ... } }

$set

이것도 역시 본 적이 있죠? 해당 필드 값을 다른 것으로 교체합니다.

{ $set: { 필드1: 값, 필드2: 값, ... } }

$setOnInsert

$set과 비슷한데 upsert의 경우에만 작동합니다. 만약 upsert가 일어나지 않으면 아무 동작도 하지 않습니다.

{ $setOnInsert: { 필드1: 값, 필드2: 값, ... } }

$unset

해당 필드를 제거합니다. 만약 배열의 요소를 $unset한 경우에는 제거하진 않고 null로 교체합니다.

{ $unset: { 필드1: '', 필드2: '', ... } }

$min

필드의 값이 주어진 값보다 클 경우 새 값으로 교체합니다. 만약 원래 값이 200이었고 $min의 값이 150이었다면 150으로 바뀝니다. 기존 기록을 경신하는 경우 사용됩니다.

{ $min: { 필드1: 값, 필드2: 값, ... } }

$max

필드의 값이 주어진 값보다 작을 경우 새 값으로 교체합니다. 만약 원래 값이 800이었고 $max의 값이 950이라면, 950으로 바뀝니다. 기존 기록을 경신하는 경우 사용됩니다.

{ $max: { 필드1: 값, 필드2: 값, ... } }

$currentDate

해당 필드 값을 현재 날짜로 교체합니다. 두 가지 타입의 현재 날짜가 있는데 하나는 기본적으로 쓰이는 Date이고 다른 하나는 Timestamp입니다. 기본 타입을 사용하려면 그냥 true하면 되고, timestamp 타입을 사용하려면 $type 연산자를 사용해야 합니다.

{ $currentDate: { 필드: true } }
{ $currentDate: { 필드: { $type: 'timestamp' } } }

다음 시간에는 마지막으로 배열 수정 연산자에 대해 알아보겠습니다.

조회수:
0
목록
투표로 게시글에 관해 피드백을 해주시면 게시글 수정 시 반영됩니다. 오류가 있다면 어떤 부분에 오류가 있는지도 알려주세요! 잘못된 정보가 퍼져나가지 않도록 도와주세요.
Copyright 2016- . 무단 전재 및 재배포 금지. 출처 표기 시 인용 가능.
5만명이 선택한 평균 별점 4.9의 제로초 프로그래밍 강좌! 로드맵만 따라오면 됩니다! 클릭

댓글

아직 댓글이 없습니다.