cursor.hint()
정의
cursor.hint(index)
중요
Mongo쉬 방법
이는
mongosh
메서드입니다. 이는Node.js
또는 기타 프로그래밍 언어별 드라이버 메서드에 대한 설명서가 아닙니다 .대부분의 경우
mongosh
메서드는 레거시mongo
셸 메서드와 동일한 방식으로 작동합니다. 그러나 일부 레거시 메서드는mongosh
에서 사용할 수 없습니다.레거시
mongo
셸 문서는 해당 MongoDB 서버 릴리스 문서를 참조하세요.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 문서를 참조하세요.
쿼리에서 이 메서드를 호출하여 MongoDB의 기본 인덱스 선택 및 쿼리 최적화 프로세스를 재정의합니다. collection의 현재 인덱스 목록을 반환하려면
db.collection.getIndexes()
를 사용합니다.cursor.hint()
메서드에는 다음과 같은 매개변수가 있습니다.매개 변수유형설명index
문자열 또는 문서쿼리를 수행할 때 MongoDB가 '힌트' 또는 강제로 사용하는 인덱스입니다. 인덱스 이름이나 인덱스 사양 문서로 인덱스를 지정합니다.
또한
{ $natural : 1 }
을 지정하여 쿼리가 정방향 컬렉션 스캔을 수행하도록 하거나{ $natural : -1 }
을 지정하여 역방향 컬렉션 스캔을 수행하도록 할 수 있습니다.
행동
쿼리에
$text
표현식이 포함된 경우hint()
를 사용하여 쿼리에 사용할 인덱스를 지정할 수 없습니다.숨겨진 인덱스 에는 를
hint()
사용할 수 없습니다.Time Series 컬렉션에서는 인덱스 이름 또는 인덱스 키 패턴을 사용하여 힌트를 지정할 수 있습니다.
예제
인덱스 지정
다음 예시에서는 age
필드의 인덱스를 사용하여 이름이 users
인 collection의 모든 문서를 반환합니다.
db.users.find().hint( { age: 1 } )
인덱스 이름을 사용하여 인덱스를 지정할 수도 있습니다.
db.users.find().hint( "age_1" )
강제 컬렉션 스캔
{ $natural : 1 }
을 지정하여 쿼리가 정방향 컬렉션 스캔을 수행하도록 할 수 있습니다.
db.users.find().hint( { $natural : 1 } )
또한 { $natural : -1 }
을 지정하여 쿼리가 역방향 컬렉션 스캔을 수행하도록 할 수도 있습니다.
db.users.find().hint( { $natural : -1 } )