replace
이벤트
요약
replace
replace
이벤트 는replaceOne
메서드가 호출될 때와 같이 업데이트 작업이 컬렉션 에서 문서 를 제거하고 새 문서 로 대체할 때 발생합니다.
설명
필드 | 유형 | 설명 | |||
---|---|---|---|---|---|
_id | 문서 | 변경 스트림 이벤트의 식별자 역할을 하는 BSON 객체입니다. 이 값은 변경 스트림을 재개할 때
| |||
clusterTime | 타임스탬프 | 이벤트와 연결된 oplog 항목의 타임스탬프입니다. 다중 문서 트랜잭션과 연결된 변경 스트림 이벤트 알림은 모두 동일한 샤딩된 클러스터에서는 동일한 단일 트랜잭션에 대한 이벤트를 식별하려면 변경 스트림 이벤트 문서에서 | |||
documentKey | 문서 | CRUD 작업으로 만들거나 수정한 문서의 샤딩된 컬렉션의 경우 이 필드에는 문서의 전체 샤드 키도 표시됩니다. | |||
fullDocument | 문서 | 작업으로 생성된 새 문서입니다. | |||
lsid | 문서 | 트랜잭션과 연결된 세션의 식별자입니다. 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. | |||
ns | 문서 | 이벤트의 영향을 받는 네임스페이스(데이터베이스 및/또는 컬렉션)입니다. | |||
ns.coll | 문자열 | 이벤트가 발생한 컬렉션의 이름입니다. | |||
ns.db | 문자열 | 이벤트가 발생한 데이터베이스의 이름입니다. | |||
operationType | 문자열 | 변경 알림이 보고하는 작업 유형입니다. 이러한 변경 이벤트에 대해 | |||
txnNumber | NumberLong | lsid와 함께 트랜잭션을 고유하게 식별하는 데 도움이 되는 번호입니다. 작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다. |
예시
다음 예시는 replace
이벤트에 대한 설명입니다.
{ "_id": { <Resume Token> }, "operationType": "replace", "clusterTime": <Timestamp>, "ns": { "db": "engineering", "coll": "users" }, "documentKey": { "_id": ObjectId("599af247bb69cd89961c986d") }, "fullDocument": { "_id": ObjectId("599af247bb69cd89961c986d"), "userName": "alice123", "name": "Alice" } }
replace
작업은 업데이트 명령을 사용하며 두 단계로 구성됩니다.
documentKey
을 사용하여 원본 문서를 삭제하고동일한 도구를 사용하여 새 문서를 삽입합니다.
documentKey
replace
이벤트의 fullDocument
은 대체 문서 삽입 후의 문서를 나타냅니다.