$pullAll
이 버전의 문서는 보관되어 더 이상 지원되지 않습니다. 5.0 배포서버 업그레이드 하려면 MongoDB 6.0 업그레이드 절차를 참조하세요.
정의
행동
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 ] }
다음도 참조하세요.