Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ /

invalidate

이 페이지의 내용

  • 요약
  • 설명
  • 예시
invalidate

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

필드
유형
설명
_id
문서

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

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

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

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

clusterTime
타임스탬프

이벤트와 연결된 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

이 페이지의 내용