Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

invalidate

이 페이지의 내용

  • 요약
  • 설명
  • 예시
invalidate

작업으로 인해 변경 스트림이 유효하지 않게 렌더링되면 invalidate 이벤트가 발생합니다. 예를 들어 나중에 제거되거나 이름이 바뀐 컬렉션에서 열린 변경 스트림은 invalidate 이벤트를 발생시킵니다.

필드
유형
설명

_id

문서

변경 스트림 이벤트 의 식별자 역할을 하는 BSON 객체 입니다. 이 값은 변경 스트림 을 재개할 때 resumeAfter 매개변수의 resumeToken 로 사용됩니다. _id 객체 의 형식은 다음과 같습니다.

{
"_data" : <BinData|hex string>
}

_data 유형은 MongoDB 버전에 따라 달라지며, 경우에 따라 변경 스트림이 열리거나 재개된 시점의 기능 호환성 버전 (FCV)에 따라 달라집니다._data 유형의 전체 목록은 재개 토큰을 참조하세요.

resumeToken 기준으로 변경 스트림을 재개하는 예시는 변경 스트림 재개를 참조하세요.

clusterTime

타임스탬프

clusterTime 이벤트 와 연결된 oplog 항목의 타임스탬프입니다.

oplog 크기 제한으로 인해다중 문서 트랜잭션은 여러 oplog 항목을 생성할 수 있습니다. 트랜잭션 에서 지정된 oplog 항목에 스테이징된 변경 스트림 이벤트는 동일한 clusterTime 를 주식 합니다.

동일한 clusterTime 이벤트가 모두 동일한 트랜잭션 과 관련되지 않을 수 있습니다. 일부 이벤트는 트랜잭션 과 전혀 관련이 없습니다. MongoDB 8.0 부터 모든 배포서버 서버의 이벤트에 해당될 수 있습니다. 이전 버전에서는 이 동작이 샤딩된 클러스터 의 이벤트에 대해서만 가능했습니다.

단일 트랜잭션에 대한 이벤트를 식별하려면 변경 스트림 이벤트 문서에서 lsidtxnNumber 조합을 사용할 수 있습니다.

버전 8.0에서 변경되었습니다.

operationType

문자열

변경 알림이 보고하는 작업 유형입니다.

이러한 변경 이벤트에 대해 invalidate 값을 반환합니다.

wallTime

데이터베이스 작업의 서버 날짜 및 시간입니다. wallTime은(는) clusterTime이(가) 데이터베이스 작업 이벤트와 관련된 oplog 항목에서 가져온 타임스탬프라는 점에서 clusterTime와(과) 다릅니다.

버전 6.0에 추가.

다음 예시는 invalidate 이벤트에 대한 설명입니다.

{
"_id": { <Resume Token> },
"operationType": "invalidate",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>
}

컬렉션에서 열린 변경 스트림은 감시된 컬렉션에 영향을 주는 제거, 이름 변경 또는 dropDatabase 작업이 발생할 때 invalidate 이벤트를 발생시킵니다.

데이터베이스에서 열린 변경 스트림은 감시된 데이터베이스에 영향을 주는 DropDatabase 이벤트가 발생할 때 invalidate 이벤트를 발생시킵니다.

invalidate 이벤트는 변경 스트림 커서를 닫습니다.

무효화 이벤트 (예: 컬렉션 삭제 또는 이름 변경)로 인해 스트림이 닫힌 후에는 resumeAfter 를 사용하여 변경 스트림을 재개할 수 없습니다. 대신 무효화 이벤트startAfter 를 사용하여 새 변경 스트림을 시작할 수 있습니다.

돌아가기

insert

이 페이지의 내용