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

$unset

이 페이지의 내용

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

참고

명확화

다음 페이지는 업데이트 연산자 $unset 를 참조합니다. 집계 단계에 대해서는 $unset 을 참조하세요.

$unset

$unset 연산자는 특정 필드를 삭제합니다.

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

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

다음 구문을 고려하세요.

{ $unset: { <field1>: "", ... } }

$unset 표현식에 지정된 값(예: "")은 작업에 영향을 주지 않습니다.

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

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

필드가 존재하지 않으면 $unset은 아무 작업도 수행하지 않습니다. (즉, 작업 없음)

배열 요소를 일치시키기 위해 $와 함께 사용할 경우 $unset은 배열에서 일치하는 요소를 제거하는 대신 일치하는 요소를 null로 바꿉니다. 이 동작은 배열 크기와 요소 위치를 일관되게 유지합니다.

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

products 컬렉션을 생성합니다.

db.products.insertMany( [
{ "item": "chisel", "sku": "C001", "quantity": 4, "instock": true },
{ "item": "hammer", "sku": "unknown", "quantity": 3, "instock": true },
{ "item": "nails", "sku": "unknown", "quantity": 100, "instock": true }
] )

sku 값이 unknownproducts 컬렉션의 첫 번째 문서를 업데이트하십시오.

db.products.updateOne(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } }
)

updateOne()$unset 연산자를 사용하여 다음을 수행합니다.

  • quantity 필드 제거

  • instock 필드 제거

{
item: 'chisel',
sku: 'C001',
quantity: 4,
instock: true
},
{
item: 'hammer',
sku: 'unknown'
},
{
item: 'nails',
sku: 'unknown',
quantity: 100,
instock: true
}

다음도 참조하세요.

돌아가기

$setOnInsert

이 페이지의 내용