문서 메뉴

문서 홈PHP 라이브러리 매뉴얼

MongoDB\Collection::bulkWrite()

이 페이지의 내용

  • 정의
  • 매개변수
  • 반환 값
  • 오류/예외
  • 행동
  • 다음도 참조하세요.
MongoDB\Collection::bulkWrite()

여러 쓰기 작업을 실행합니다.

function bulkWrite(
array $operations,
array $options = []
): MongoDB\BulkWriteResult
$operations : 배열

수행할 쓰기 작업이 포함된 배열입니다. MongoDB\Collection::bulkWrite() 는 다음 배열 구조에서 deleteMany(), deleteOne(), insertOne(), replaceOne(), updateMany()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 옵션의 상속보다 우선합니다.

대량 쓰기는 insertOnereplaceOne 작업에 코덱을 사용합니다.

버전 1.17에 추가 되었습니다.

comment
혼합

사용자가 데이터베이스 프로파일러, currentOp 출력 및 로그를 통해 작업을 추적하는 데 도움이 되는 임의의 주석을 지정할 수 있습니다.

이 옵션은 MongoDB 4.4부터 사용할 수 있으며 이전 서버 버전에 대해 지정된 경우 실행 시 예외가 발생합니다.

버전 1.13에 새로 추가되었습니다.

하자
배열|객체

매개변수 이름과 값의 맵입니다. 값은 문서 필드를 참조하지 않는 상수 또는 닫힌 표현식이어야 합니다. 그런 다음 매개변수는 애그리게이션 표현식 컨텍스트에서 변수로 액세스될 수 있습니다(예: $$var).

이는 5.0 이전의 서버 버전에서는 지원되지 않으며 사용하는 경우 실행 시 예외가 발생합니다.

버전 1.13에 새로 추가되었습니다.

주문됨
부울

true 인 경우: 단일 쓰기가 실패하면 나머지 쓰기를 수행하지 않고 작업이 중지되고 예외가 발생합니다.

false 인 경우: 단일 쓰기가 실패하면 나머지 쓰기(있는 경우)를 사용하여 작업을 계속하고 예외를 발생시킵니다.

기본값은 true입니다.

세션

작업과 연결할 클라이언트 세션입니다.

버전 1.3에 새로 추가되었습니다.

쓰기 고려

작업에 사용할 고려를 씁니다 . 기본값은 컬렉션의 쓰기 고려입니다.

트랜잭션의 일부로 개별 작업에 대한 쓰기 고려를 지정할 수 없습니다. 대신 writeConcern 트랜잭션을 시작할때 옵션을 설정합니다.

MongoDB\Driver\WriteResult MongoDB\BulkWriteResult 를 캡슐화하는 객체 객체.

옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException입니다(예: collation, readConcern, writeConcern).

MongoDB\Exception\InvalidArgumentException 매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.

MongoDB\Driver\Exception\BulkWriteException 쓰기 작업과 관련된 오류의 경우. 사용자는 getWriteResult() 가 반환한 값을 검사해야 합니다. 오류의 특성을 확인합니다.

MongoDB\Driver\Exception\RuntimeException 드라이버 수준의 기타 오류(예: 연결 오류).

MongoDB\Driver\Exception\BulkWriteException이 이 발생하면 사용자는 getWriteResult() 를 호출해야 합니다. 반환된 MongoDB\Driver\WriteResult 를 검사합니다. 객체를 사용하여 오류의 특성을 확인합니다.

예를 들어 쓰기 작업이 프라이머리 서버에 성공적으로 적용되었지만 쓰기 고려를 충족하지 못했을 수 있습니다(예: 복제가 너무 오래 걸렸습니다). 또는 쓰기 작업이 완전히 실패했을 수 있습니다(예: 고유 키 위반).

대량 쓰기의 경우 결과는 여러 번의 성공적인 쓰기 작업 및/또는 오류를 나타낼 수 있습니다. ordered 옵션이 true 인 경우 첫 번째 오류가 발생하고 예외가 발생하기 전에 일부 작업이 성공했을 수 있습니다. ordered 옵션이 false 인 경우 여러 오류가 발생했을 수 있습니다.

← MongoDB\Collection::aggregate()