230.7.2. 스트림 소비자 변경

변경 스트림을 사용하면 애플리케이션이 MongoDB oplog 사용의 복잡성 및 위험 없이 실시간 데이터 변경에 액세스할 수 있습니다. 애플리케이션은 변경 스트림을 사용하여 컬렉션의 모든 데이터 변경 사항을 서브스크립션하고 즉시 대응할 수 있습니다. 변경 스트림은 집계 프레임워크를 사용하므로 애플리케이션은 특정 변경 사항을 필터링하거나 원하는 시점에 알림을 변환할 수도 있습니다.

Change Streams Consumer를 구성하려면 consumerType,데이터베이스,컬렉션 및 선택적 JSON 속성 streamFilter 를 지정하여 이벤트를 필터링해야 합니다. 이 JSON 속성은 표준 MongoDB $match 집계입니다. XML DSL 구성을 사용하여 쉽게 지정할 수 있습니다.

<route id="filterConsumer">
    <from uri="mongodb3:myDb?consumerType=changeStreams&amp;database=flights&amp;collection=tickets"/>
    <to uri="mock:test"/>

    <routeProperty key="streamFilter" value="{'$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]}}"/>
</route>

Java 구성:

from("mongodb3:myDb?consumerType=changeStreams&database=flights&collection=tickets")
    .routeProperty("streamFilter", "{'$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]}}")
    .to("mock:test");