MongoDB\Collection::bulkWrite()
이 페이지의 내용
정의
매개변수
$operations
: 배열수행할 쓰기 (write) 작업이 포함된 배열 입니다.
MongoDB\Collection::bulkWrite()
는 다음 배열 구조에서MongoDB\Collection::deleteMany()
,MongoDB\Collection::deleteOne()
,MongoDB\Collection::insertOne()
,MongoDB\Collection::replaceOne()
,MongoDB\Collection::updateMany()
및MongoDB\Collection::updateOne()
연산을 지원합니다.[ [ 'deleteMany' => [ $filter ] ], [ 'deleteOne' => [ $filter ] ], [ 'insertOne' => [ $document ] ], [ 'replaceOne' => [ $filter, $replacement, $options ] ], [ 'updateMany' => [ $filter, $update, $options ] ], [ 'updateOne' => [ $filter, $update, $options ] ], ] 인수는 각각의 연산 메서드에 해당합니다. 그러나
writeConcern
옵션은 각 개별 작업 대신MongoDB\Collection::bulkWrite()
에 대한 최상위 옵션으로 지정됩니다.$options
: 배열원하는 옵션을 지정하는 배열입니다.
이름유형설명bypassDocumentValidation부울true
인 경우 쓰기 작업이 문서 수준 유효성 검사를 우회하도록 허용합니다. 기본값은false
입니다.코덱MongoDB\Codec\DocumentCodec문서 인코딩 또는 디코딩에 사용하는 코덱입니다. 이 옵션은
typeMap
옵션과 상호 배타적입니다.컬렉션의 코덱을 기본값으로 설정합니다. 기본
codec
옵션의 상속은typeMap
옵션의 상속보다 우선합니다.대량 쓰기는
insertOne
및replaceOne
작업에 코덱을 사용합니다.버전 1.17에 추가 되었습니다.
comment혼합사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다.
이 옵션은 MongoDB 4.4부터 사용할 수 있으며 이전 서버 버전에 대해 지정된 경우 실행 시 예외가 발생합니다.
버전 1.13에 새로 추가되었습니다.
하자배열|객체매개변수 이름과 값의 맵입니다. 값은 문서 필드를 참조하지 않는 상수 또는 닫힌 표현식이어야 합니다. 그런 다음 매개변수는 애그리게이션 표현식 컨텍스트에서 변수로 액세스될 수 있습니다(예:
$$var
).이는 5.0 이전의 서버 버전에서는 지원되지 않으며 사용하는 경우 실행 시 예외가 발생합니다.
버전 1.13에 새로 추가되었습니다.
주문됨부울true
인 경우: 단일 쓰기가 실패하면 나머지 쓰기를 수행하지 않고 작업이 중지되고 예외가 발생합니다.false
인 경우: 단일 쓰기가 실패하면 나머지 쓰기(있는 경우)를 사용하여 작업을 계속하고 예외를 발생시킵니다.기본값은
true
입니다.Session작업과 연결할 클라이언트 세션입니다.
버전 1.3에 새로 추가되었습니다.
쓰기 고려
Return Values
MongoDB\Driver\WriteResult MongoDB\BulkWriteResult
를 캡슐화하는 객체 객체.
오류/예외
옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException
입니다(예: collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.
MongoDB\Driver\Exception\BulkWriteException 쓰기 작업과 관련된 오류의 경우. 사용자는 getWriteResult() 가 반환한 값을 검사해야 합니다. 오류의 특성을 확인합니다.
MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).
행동
MongoDB\Driver\Exception\BulkWriteException이 이 발생하면 사용자는 getWriteResult() 를 호출해야 합니다. 반환된 MongoDB\Driver\WriteResult 를 검사합니다. 객체를 사용하여 오류의 특성을 확인합니다.
예를 들어 쓰기 작업이 프라이머리 서버에 성공적으로 적용되었지만 쓰기 고려를 충족하지 못했을 수 있습니다(예시: 복제가 너무 오래 걸렸습니다). 또는 쓰기 작업이 완전히 실패했을 수 있습니다(예시: 고유 키 위반).
대량 쓰기의 경우 결과는 여러 번의 성공적인 쓰기 작업 및/또는 오류를 나타낼 수 있습니다. ordered
옵션이 true
인 경우 첫 번째 오류가 발생하고 예외가 발생하기 전에 일부 작업이 성공했을 수 있습니다. ordered
옵션이 false
인 경우 여러 오류가 발생했을 수 있습니다.