Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / / /

$inc

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 행동
  • 예시
$inc

$inc 연산자는 필드를 지정한 값만큼 증가시킵니다.

다음 환경에서 호스팅되는 배포에 $inc 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

$inc 연산자의 형식은 다음과 같습니다.

{ $inc: { <field1>: <amount1>, <field2>: <amount2>, ... } }

내장된 문서나 배열에 <field> 기호를 지정하려면 점 표기법을사용하십시오.

MongoDB 5.0부터 업데이트 연산자는 문자열 기반 이름이 있는 문서 필드를 사전순으로 처리합니다. 숫자 이름이 있는 필드는 숫자 순서대로 처리됩니다. 자세한 내용은 업데이트 운영자 동작을 참조하십시오.

$inc 연산자는 양수 및 음수 값을 허용합니다.

필드가 존재하지 않는 경우, $inc는 필드를 생성하고 필드를 지정된 값으로 설정합니다.

null 값이 있는 필드에 $inc 연산자를 사용하면 오류가 발생합니다.

$inc 는 단일 문서 내에서 원자적으로 수행되는 연산입니다.

MongoDB 5.0부터 빈 피연산자 표현식( { } )과 함께 $inc과 같은 업데이트 연산자를 사용할 때 mongod에서 더 이상 오류가 발생하지 않습니다. 업데이트가 비어 있으면 변경 사항이 없으며 oplog 항목이 생성되지 않습니다(즉, 작업이 작동하지 않음을 의미합니다).

products 컬렉션을 생성합니다.

db.products.insertOne(
{
_id: 1,
sku: "abc123",
quantity: 10,
metrics: { orders: 2, ratings: 3.5 }
}
)

다음 updateOne() 연산자는 $inc 연산자를 사용합니다.

  • "metrics.orders" 필드를 1만큼 증가시킵니다.

  • quantity 필드를 -2만큼 증가시킵니다(quantity감소).

db.products.updateOne(
{ sku: "abc123" },
{ $inc: { quantity: -2, "metrics.orders": 1 } }
)

업데이트된 문서는 다음과 같습니다:

{
_id: 1,
sku: 'abc123',
quantity: 8,
metrics: { orders: 3, ratings: 3.5 }
}

다음도 참조하세요.

돌아가기

$currentDate

이 페이지의 내용