AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

MongoDB\Collection::bulkWrite()

MongoDB\Collection::bulkWrite()

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

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

수행할 쓰기 작업이 포함된 배열입니다. 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 : 배열

원하는 옵션을 지정하는 배열입니다.

이름
유형
설명

builderEncoder

MongoDB\Codec\Encoder

쿼리 및 집계 빌더 에 사용할 인코더입니다. 설정하다 하지 않으면 이 옵션은 기본적으로 MongoDB\Builder\BuilderEncoder 클래스의 새 인스턴스 로 설정됩니다.

버전 1.21에 추가 되었습니다.:

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인 경우: 단일 쓰기 (write) 실패하면 나머지 쓰기를 수행하지 않고 작업이 중지되고 예외가 발생합니다.

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

기본값은 true입니다.

Session

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

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

쓰기 고려

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

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

MongoDB\ 드라이버\WriteResult MongoDB\BulkWriteResult 객체 캡슐화하는 객체 입니다.

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

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

쓰기 (write) 작업과 관련된 오류에 대한MongoDB\ 드라이버 \Exception\BulkWriteException. getWriteResult() 가 반환한 값을 검사하여 오류의 특성을 확인할 수 있습니다.

확장 수준의 기타 오류에 대한MongoDB\ 드라이버\Exception\RuntimeException (예: 연결 오류).

MongoDB\ 드라이버\Exception\BulkWriteException 이 발생하면 getWriteResult() 를 호출하고 반환된 MongoDB\ 드라이버\WriteResult 객체 검사하여 오류의 특성을 확인할 수 있습니다.

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

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