cursor.tailable()
정의
cursor.tailable()
중요
Mongo쉬 방법
이는
mongosh
메서드입니다. 이는Node.js
또는 기타 프로그래밍 언어별 드라이버 메서드에 대한 설명서가 아닙니다 .대부분의 경우
mongosh
메서드는 레거시mongo
shell 메서드와 동일한 방식으로 작동합니다. 그러나 일부 레거시 메서드는mongosh
에서 사용할 수 없습니다.레거시
mongo
셸 문서는 해당 MongoDB 서버 릴리스 문서를 참조하세요.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 문서를 참조하세요.
클라이언트 가 모든 결과를 소진하는 경우에도 커서를 열린 상태로 유지하면서 커서를 테일 커서 ( tailable )로 표시합니다.
고정 사이즈 컬렉션 에 대해서만 사용합니다. 고정 사이즈가 아닌 고정 사이즈 컬렉션 에 대해
~cursor.tailable()
를 사용하면 오류가 반환됩니다.cursor.tailable()
다음 구문을 사용합니다:cursor.tailable( { awaitData : <boolean> } ) ~cursor.tailable()
에는 다음과 같은 매개 변수가 있습니다.Parameter유형설명awaitData
부울선택 사항.
DBQuery.Option.tailable
와 함께 사용합니다. 데이터를 사용할 수 없을 때 쿼리 스레드를 차단 하고 데이터를 즉시 반환하지 않는 대신 설정하다 시간 동안 데이터를 기다리도록 커서 를 설정합니다. 제한 시간이 만료된 경우에만 커서 가 데이터를 반환하지 않습니다.기본적으로 커서를 생성한 명령에
maxTimeMS
가 설정되어 있는 경우awaitData
의 제한 시간은 남은 시간입니다. 그렇지 않은 경우 기본 시간 제한은 1000 밀리초입니다.awaitData
이 활성화된 상태에서 커서 에서getMore
를 실행 때 시간 초과를 설정하다 수 있습니다.기본값은
false
입니다.반환합니다: ~cursor.tailable()
가 연결된 커서 입니다.
행동
테일 커서( tailable cursor)는 고정 사이즈 컬렉션에 대해 컬렉션 스캔을 수행합니다. 컬렉션이 종료된 후에도 열려 있는 상태로 유지됩니다. 애플리케이션은 컬렉션에 새 데이터가 삽입될 때 테일 커서(tailable cursor)를 계속 반복할 수 있습니다.
awaitData
가 true
인 경우 커서가 고정 사이즈 컬렉션의 끝에 도달하면 mongod
는 제한 시간 간격 동안 쿼리 스레드를 차단하고 새 데이터가 도착할 때까지 기다립니다. 고정 사이즈 컬렉션에 새 데이터가 삽입되면 mongod
는 차단된 스레드를 깨우고 다음 배치를 클라이언트에 반환하라는 신호를 보냅니다.