AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

removeQuerySettings(데이터베이스 명령)

removeQuerySettings

버전 8.0에 추가 되었습니다.:

이전에 setQuerySettings로 추가한 쿼리 설정을 삭제합니다.

쿼리 설정을 삭제 하려면 removeQuerySettings쿼리 형태 해시 string 또는 쿼리 형태 형태를 제공해야 합니다.

해시 string 또는 쿼리 형태 를 찾으려면 집계 파이프라인 에서 $querySettings 단계를 사용할 수 있습니다. 해시 string 의 이름은 $querySettings 출력에서 queryShapeHash 입니다.

removeQuerySettings 에 쿼리 형태 를 제공하는 경우 삭제 기존 쿼리 설정 형태의 필드를 포함합니다. 필드 값이 일치하지 않아도 됩니다. 예를 예시 find x=1 에 대한 기존 쿼리 설정이 있고 removeQuerySettingsfind x=100 를 제공하는 경우 removeQuerySettingsfind x=1 에 대한 쿼리 설정을 삭제합니다.

쿼리 형태에 대한 자세한 내용은 쿼리 형태를 참조하세요 .

다음 구문 사양 중 하나를 사용하여 쿼리 설정을 삭제 수 있습니다.

다음 구문에서는 removeQuerySettings에 쿼리 형태 해시 string 을 제공합니다.

db.adminCommand( {
removeQuerySettings: <string> // Provide an existing query shape hash string
} )

다음 구문에서는 다음을 제공합니다.

  • find, distinct 또는 aggregate 명령과 동일한 필드입니다. removeQuerySettings 에 포함할 수 있는 필드에 대한 명령은 페이지의 구문 섹션을 참조하세요.

  • 원래 명령과 연결된 데이터베이스 이름을 지정하는 $db 필드 입니다.

db.adminCommand( {
removeQuerySettings: {
<fields>, // Provide fields for
// find, distinct, or aggregate command
$db: <string> // Provide a database name
}
} )

명령은 이 필드 를 사용합니다.

필드
유형
필요성
설명

removeQuerySettings

문서 또는 문자열

필수 사항

다음 중 하나를 제공할 수 있습니다.

  • find, distinct 또는 aggregate 명령의 필드와 동일한 필드 및 원래 명령과 연결된 데이터베이스 가 있는 $db 필드 입니다.

  • 기존 쿼리 형태 해시 string 입니다.

다음 예제에서는 컬렉션 을 만들고, 쿼리 설정을 추가하고, 설정을 삭제 합니다.

1

실행:

// Create pizzaOrders collection
db.pizzaOrders.insertMany( [
{ _id: 0, type: "pepperoni", totalNumber: 5,
orderDate: new Date( "2024-01-15T12:00:00Z" ) },
{ _id: 1, type: "cheese", totalNumber: 15,
orderDate: new Date( "2024-01-23T11:12:32Z" ) },
{ _id: 2, type: "vegan", totalNumber: 20,
orderDate: new Date( "2024-03-20T10:01:12Z" ) }
] )
// Create ascending index on orderDate field
db.pizzaOrders.createIndex( { orderDate: 1 } )

인덱스 의 기본값 이름은 orderDate_1 입니다.

2

다음 setQuerySettings 예시 에서는 쿼리 설정을 추가합니다.

db.adminCommand( {
setQuerySettings: {
find: "pizzaOrders",
filter: {
orderDate: { $gt: ISODate( "2024-01-20T00:00:00Z" ) }
},
sort: {
totalNumber: 1
},
$db: "test"
},
settings: {
indexHints: {
ns: { db: "test", coll: "pizzaOrders" },
allowedIndexes: [ "orderDate_1" ]
},
queryFramework: "classic",
comment: "Index hint for orderDate_1 index to improve query performance"
}
} )
3

다음 예시 에서는 $querySettings 를 사용하여 쿼리 설정을 반환합니다.

db.aggregate( [
{ $querySettings: {} }
] )

삭제 쿼리 설정을 찾으려면 이 출력에서 queryShapeHash string 을 사용합니다.

[
{
queryShapeHash: 'F42757F1AEB68B4C5A6DE6182B29B01947C829C926BCC01226BDA4DDE799766C',
settings: {
indexHints: {
ns: { db: 'test', coll: 'pizzaOrders' },
allowedIndexes: [ 'orderDate_1' ]
},
queryFramework: 'classic',
comment: 'Index hint for orderDate_1 index to improve query performance'
},
representativeQuery: {
find: 'pizzaOrders',
filter: { orderDate: { '$gt': ISODate('2024-01-20T00:00:00.000Z') } },
sort: { totalNumber: 1 },
'$db': 'test'
}
}
]
4

다음 예시 에서는 removeQuerySettings 을 사용하여 이전 출력에서 queryShapeHash 을 사용하여 식별된 쿼리 설정을 삭제 합니다.

db.adminCommand( {
removeQuerySettings: "F42757F1AEB68B4C5A6DE6182B29B01947C829C926BCC01226BDA4DDE799766C"
} )

쿼리 형태 를 사용하여 쿼리 설정을 삭제 수도 있습니다. 예를 예시 다음과 같습니다.

db.adminCommand( {
removeQuerySettings: {
find: "pizzaOrders",
filter: {
orderDate: { $gt: ISODate( "2023-01-20T00:00:00Z" ) }
},
sort: {
totalNumber: 1
},
$db: "test"
}
} )