Docs Menu
Docs Home
/ /

removeQuerySettings (comando de base de datos)

removeQuerySettings

Nuevo en la versión 8.0.

Elimina las configuraciones de consulta agregadas previamente con setQuerySettings.

Para borrar la configuración de query, debes proporcionar un hash string de forma del query o una forma del query para removeQuerySettings.

Para encontrar una cadena hash o una forma de consulta, puede usar una $querySettings etapa en una canalización de agregación. La cadena hash se denomina queryShapeHash en la $querySettings salida.

Si proporciona una forma de consulta a removeQuerySettings, incluya los campos de la forma de configuración de consulta existente que desea eliminar. Los valores de los campos no tienen que coincidir. Por ejemplo, si ya tiene una configuración de consulta para find x=1 y proporciona find x=100 a removeQuerySettings, removeQuerySettings elimina la configuración de consulta de find x=1.

Para obtener más información sobre las formas de consulta, consulte Formas de consulta.

Puede eliminar la configuración de la consulta utilizando cualquiera de las siguientes especificaciones de sintaxis.

En la siguiente sintaxis, proporciona una cadena hash de forma de consulta en removeQuerySettings:

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

En la siguiente sintaxis, proporciona:

  • Los mismos campos que un comando, o. Consulte las secciones de sintaxis en las páginas de esos comandos para ver los campos que puede find distinct aggregate incluir removeQuerySettings en.

  • Un campo $db que especifica el nombre de la base de datos asociada con el comando original.

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

El comando toma este campo:

Campo
Tipo
Necesidad
Descripción

removeQuerySettings

documento o cadena

Requerido

Puede proporcionar:

  • Los mismos campos que en un find distinctcomando, o aggregate $db y un campo con la base de datos asociada con el comando original.

  • Una cadena hash de forma de consulta existente.

Los siguientes ejemplos crean una colección, agregan configuraciones de consulta y eliminan las configuraciones:

1

Ejecuta:

// 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 } )

El índice tiene el nombre predeterminado orderDate_1.

2

El siguiente ejemplo setQuerySettings agrega configuraciones de consulta:

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

El siguiente ejemplo utiliza $querySettings para devolver la configuración de la consulta:

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

Para localizar la configuración de consulta que desea eliminar, utilice la cadena queryShapeHash en esta salida:

[
{
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

El siguiente ejemplo usa removeQuerySettings para borrar la configuración de la query identificada usando queryShapeHash de la salida anterior:

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

También puedes eliminar la configuración de la consulta mediante una forma de consulta. Por ejemplo:

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

Volver

reIndex

En esta página