MongoDB\ClientBulkWrite::replaceOne()
버전 2.1에 추가 되었습니다.
정의
MongoDB\ClientBulkWrite::replaceOne()
Specify a replace operation in the bulk write command for the first matching document. This method returns the
MongoDB\ClientBulkWrite
instance on which it's called.function replaceOne( array|object $filter, array|object $replacement, array $options = [] ): self
매개변수
$filter
: 배열|객체- 대체할 문서를 지정하는 필터 기준입니다.
$replacement
: 배열|객체- 대체 문서입니다.
$options
: 배열원하는 옵션을 지정하는 배열입니다.
이름유형설명데이터 정렬
배열|객체
데이터 정렬 을 통해 사용자는 string 비교를 위한 언어별 규칙(예: 대소문자 및 악센트 표시 규칙)을 지정할 수 있습니다. 데이터 정렬을 지정할 때
locale
필드는 필수입니다. 다른 모든 데이터 정렬 필드는 선택 사항입니다. 필드에 대한 설명은 데이터 정렬 문서를 참조하세요.데이터 정렬이 지정되지 않았지만 컬렉션에 기본 데이터 정렬이 있는 경우, 작업은 컬렉션에 지정된 데이터 정렬을 사용합니다. 컬렉션 또는 연산에 대한 데이터 정렬이 지정되지 않은 경우, MongoDB는 이전 버전에서 문자열 비교에 사용된 간단한 이진 비교를 사용합니다.
hint
문자열|배열|객체
사용할 인덱스입니다. 인덱스 이름을 문자열로 지정하거나 인덱스 키 패턴을 문서로 지정합니다. 이 옵션을 지정하면 쿼리 시스템은 힌트 인덱스를 사용하는 계획만 고려합니다.
sort
배열|객체
일치하는 문서의 순서에 대한 정렬 사양입니다. 서버 바꾸기 작업을 수행하기 전에 일치하는 문서에 순서를 적용 하려면 이 옵션을 설정합니다.
업서트
부울
true
로 설정하면 쿼리 기준과 일치하는 문서가 없을 때 새 문서가 만들어집니다. 기본값은false
이며, 일치하는 문서가 없을 경우 새 문서를 삽입하지 않습니다.
오류/예외
옵션이 사용되지만 선택한 서버에서 지원되지 않는 경우 MongoDB\Exception\UnsupportedException
입니다(예: collation
, readConcern
, writeConcern
).
MongoDB\Exception\InvalidArgumentException
매개변수 또는 옵션의 구문 분석과 관련된 오류의 경우입니다.
쓰기 (write) 작업과 관련된 오류의 경우 MongoDB\ 드라이버 \Exception\BulkWriteCommandException. getWriteErrors()가 반환한 값을 검사하여 오류의 특성을 확인할 수 있습니다.
MongoDB\ 드라이버\Exception\RuntimeException 확장 수준의 다른 오류(예: 연결 오류).
행동
쿼리 기준을 평가할 때 MongoDB 는 BSON types에 대한 자체 비교 규칙 에 따라 유형과 값을 비교하며, 이는 PHP의 비교 와는 다릅니다. 및 유형 저글링 규칙. 특수 BSON 유형과 일치하는 경우 쿼리 기준은 해당 BSON 클래스 를 사용해야 합니다. 확장 프로그램(예: MongoDB\ BSON\ObjectId 사용 ObjectId 와 일치시킵니다.
MongoDB\ 드라이버\Exception\BulkWriteCommandException이 발생하면 getWriteErrors()를 호출하고 반환된 배열 의 정보를 검사하여 오류의 특성을 확인할 수 있습니다.
예시 를 들어, 쓰기 (write) 작업이 프라이머리 서버 에 성공적으로 적용되었지만 쓰기 고려 (write concern) 충족하지 못했을 수 있습니다. 또는 쓰기 (write) 작업이 완전히 실패했을 수도 있습니다( 예시 : 고유 키 제약 조건 위반).
다음도 참조하세요.
대량 쓰기 작업 가이드 의 클라이언트 대량 쓰기 섹션