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

$pullAll

이 페이지의 내용

  • 정의
  • 행동
  • 예시
$pullAll

$pullAll 연산자는 기존 배열에서 지정된 값의 모든 인스턴스를 제거합니다. 쿼리를 지정하여 요소를 제거하는 $pull 연산자와 달리 $pullAll은 나열된 값과 일치하는 요소를 제거합니다.

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

{ $pullAll: { <field1>: [ <value1>, <value2> ... ], ... } }

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

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

제거할 <value>가 문서 또는 배열인 경우 $pullAll은 순서를 포함하여 지정된 <value>과 정확히 일치하는 배열의 요소만 제거합니다.

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

survey 컬렉션을 생성합니다.

db.survey.insertOne( { _id: 1, scores: [ 0, 2, 5, 5, 1, 0 ] } )

다음 작업은 scores 배열에서 "0" 및 "5" 값의 모든 인스턴스를 제거합니다.

db.survey.updateOne( { _id: 1 }, { $pullAll: { scores: [ 0, 5 ] } } )

업데이트 후에는 scores 필드에 더 이상 "0" 또는 "5" 인스턴스가 없습니다.

{ "_id" : 1, "scores" : [ 2, 1 ] }

다음도 참조하세요.

돌아가기

$push

이 페이지의 내용