이벤트 변경
변경 스트림은 컬렉션, 데이터베이스 또는 배포에서 변경 사항이 있는지 감시합니다.
감시되는 리소스에 변경 사항이 발생하면 변경 스트림은 변경 이벤트 알림 문서와 함께 작업 및 변경 사항에 대한 정보를 반환합니다.
작업 유형
이벤트 | 설명 |
---|---|
문서가 컬렉션에서 제거될 때 발생 | |
컬렉션이 데이터베이스에서 제거될 때 발생합니다. | |
데이터베이스가 제거될 때 발생합니다. | |
작업이 컬렉션에 문서를 추가할 때 발생 | |
작업 렌더링으로 인해 변경 스트림이 유효하지 않을 때 발생 | |
샤드 키가 수정될 때 발생 버전 6.1에 추가. | |
컬렉션의 이름이 변경될 때 발생합니다. | |
업데이트 작업이 컬렉션에서 문서를 제거하고 새 문서로 바꿀 때 발생합니다. | |
컬렉션 및 데이터 배포에 대한 샤드 키가 변경될 때 발생합니다. 확장된 이벤트 표시 옵션을 버전6.1의 새로운 기능.: (버전 6.0.14로도 제공) | |
작업이 컬렉션의 문서를 업데이트할 때 발생합니다. |
토큰 재개
각 변경 이벤트에는 문서가 포함된 _id
필드가 포함되어 있습니다. 이 문서는 변경 스트림을 시작할 때 resume token으로 사용할 수 있습니다.
확장된 이벤트
버전 6.0에 추가.
MongoDB 6.0부터 변경 스트림은 createIndexes 및 dropIndexes 이벤트와 같은 DDL 이벤트에 대한 변경 알림을 지원합니다. 변경 스트림에 확장 이벤트를 포함하려면 showExpandedEvents
옵션을 사용하여 변경 스트림 커서를 생성합니다.
예를 들면 다음과 같습니다.
let cur = db.names.aggregate( [ { $changeStream: { showExpandedEvents: true } } ] ) cur.next()