정의
cursor.hint(index)중요
Mongo쉬 방법
이 페이지에서는
mongosh메서드를 설명합니다. 이는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.
쿼리에서 이 메서드를 호출하여 MongoDB의 기본 인덱스 선택 및 쿼리 최적화 프로세스를 재정의합니다. 컬렉션의 현재 인덱스 목록을 반환하려면
db.collection.getIndexes()를 사용합니다.cursor.hint()메서드에는 다음과 같은 매개변수가 있습니다.Parameter유형설명index문자열 또는 문서
쿼리를 수행할 때 MongoDB가 '힌트' 또는 강제로 사용하는 인덱스입니다. 인덱스 이름이나 인덱스 사양 문서로 인덱스를 지정합니다.
또한
{ $natural : 1 }을 지정하여 쿼리가 정방향 컬렉션 스캔을 수행하도록 하거나{ $natural : -1 }을 지정하여 역방향 컬렉션 스캔을 수행하도록 할 수 있습니다.
호환성
이 메서드는 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.
MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스
참고
이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.
MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전
MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전
행동
쿼리에
$text표현식이 포함된 경우hint()를 사용하여 쿼리에 사용할 인덱스를 지정할 수 없습니다.Time Series 컬렉션에서는 인덱스 이름 또는 인덱스 키 패턴을 사용하여 힌트를 지정할 수 있습니다.
쿼리 설정은 인덱스 힌트보다 우선합니다. MongoDB는 일치하는 쿼리 설정에 인덱스 힌트가 포함되어 있을 때 명령 필드로 전달된 인덱스 힌트를 무시합니다. 인덱스 힌트는 쿼리 형태에 영향을 미치지 않습니다. 힌트 및 쿼리 설정에 대한 자세한 내용은 쿼리 설정 구문을 참조하세요.
$natural
$natural 을(를) cursor.hint() 와(과) 함께 사용하여 컬렉션 스캔 수행하여 문서를 기본 순서로 반환합니다.
사용법은 강제 컬렉션 스캔을 참조하세요.
예시
인덱스 지정
다음 예시에서는 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 } )