Docs Menu
Docs Home
/ /

PlanCache.clearPlansByQuery() (mongosh 메서드)

PlanCache.clearPlansByQuery( <query>, <projection>, <sort> )

지정된 쿼리 형태에 대해 캐시된 쿼리 계획을 지웁니다.

중요

Mongo쉬 방법

이 페이지에서는 mongosh 메서드를 설명합니다. 이는 데이터베이스 명령 또는 Node.js와 같은 언어별 드라이버에 대한 설명서가 아닙니다.

데이터베이스 명령에 대해서는 planCacheClear 명령을 참조하십시오.

MongoDB API 드라이버의 경우 언어별 MongoDB 드라이버 설명서를 참조하세요.

이 메서드는 특정 컬렉션의 plan cache object에서만 사용할 수 있습니다. 즉, 다음과 같습니다.

db.collection.getPlanCache().clearPlansByQuery( <query>, <projection>, <sort>, <collation> )

PlanCache.clearPlansByQuery() 메서드는 다음 매개 변수를 허용합니다.

Parameter
유형
설명

query

문서

쿼리 형태 의 쿼리 조건자입니다. 필드 이름을 포함한 술어의 구조만이 형태에 중요합니다. 쿼리 조건자의 값이 중요하지 않습니다.

projection

문서

선택 사항. 쿼리 형태 와 관련된 프로젝션입니다. sort 매개 변수를 지정할 경우 필수 사항입니다.

sort

문서

collation

문서

선택 사항입니다. 작업에 사용할 데이터 정렬을 지정합니다.

데이터 정렬을 사용하면 대소문자 및 악센트 표시 규칙과 같은 문자열 비교에 대한 언어별 규칙을 지정할 수 있습니다.

데이터 정렬 옵션의 구문은 다음과 같습니다:

collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
}

데이터 정렬을 지정할 때 locale 필드는 필수이고, 다른 데이터 정렬 필드는 모두 선택 사항입니다. 필드에 대한 설명은 데이터 정렬 문서를 참조하세요.

데이터 정렬이 지정되지 않았지만 컬렉션에 기본 데이터 정렬이 있는 경우( db.createCollection() 참조), 작업은 컬렉션에 지정된 데이터 정렬을 사용합니다.

컬렉션 또는 연산에 대한 데이터 정렬이 지정되지 않은 경우, MongoDB는 이전 버전에서 문자열 비교에 사용된 간단한 이진 비교를 사용합니다.

한 연산에 대해 여러 데이터 정렬을 지정할 수 없습니다. 예를 들어 필드별로 서로 다른 데이터 정렬을 지정할 수 없으며 정렬과 함께 찾기를 수행하는 경우 찾기 와 정렬에서 각각 다른 데이터 정렬을 사용하는 것은 허용되지 않습니다.

캐시된 쿼리 계획이 있는 쿼리 형태를 확인하려면 예제를 참조하세요.

authorization(으)로 실행되는 시스템에서 사용자는 planCacheWrite 조치를 포함하는 액세스 권한이 있어야 합니다.

collection orders 의 쿼리 형태가 다음과 같은 경우:

{
"query" : { "qty" : { "$gt" : 10 } },
"sort" : { "ord_date" : 1 },
"collation" : { locale : "fr" },
"projection" : { },
"queryHash" : "9AAD95BE"
}

다음 작업은 형태에 대해 캐시된 쿼리 계획을 제거합니다.

db.orders.getPlanCache().clearPlansByQuery(
{ "qty" : { "$gt" : 10 } },
{ },
{ "ord_date" : 1 },
{ locale: "fr" }
)

돌아가기

PlanCache.clear

이 페이지의 내용