Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Query Modifiers

$min

$min

Nota

Obsoleto desde la v3.2

A partir de la v3.2, el operador $min está obsoleto en mongosh. En mongosh, utiliza cursor.min() en su lugar.

Especifique un valor $min para especificar el límite inferior inclusivo de un índice específico y así restringir los resultados find() de. El $min valor especifica el límite inferior para todas las claves de un índice específico en orden.

mongosh proporciona el método contenedor min():

db.collection.find( { <query> } ).min( { field1: <min value>, ... fieldN: <min valueN>} )

También puede especificar la opción con cualquiera de las dos formas:

db.collection.find( { <query> } )._addSpecial( "$min", { field1: <min value1>, ... fieldN: <min valueN> } )
db.collection.find( { $query: { <query> }, $min: { field1: <min value1>, ... fieldN: <min valueN> } } )

Nota

Uso del índice

A partir de MongoDB 4.2, debe especificar explícitamente el índice particular con el método hint() para ejecutar min()/ $min con la siguiente excepción: no necesita hacer un hint si la consulta find() es una condición de igualdad en el campo _id { _id: <value> }.

Como min() requiere un índice en un campo y obliga a la consulta a usar dicho índice, puedes preferir el operador $gte para la consulta si es posible. Considera el siguiente ejemplo:

db.collection.find( { _id: { $in: [ 6, 7 ] } } ).min( { age: 25 } ).hint( { age: 1 } )

La consulta utilizará el índice del campo age, incluso si el índice en _id puede ser mejor.

Si utiliza $max con para especificar un $min rango,

  • Los límites de índice especificados en $min y deben referirse a las claves del mismo índice.$max

  • El límite especificado por debe ser mayor que el límite $max especificado $min por.

    Cambiado en la versión 4.0.

Los operadores $min y $max indican que el sistema debe evitar la planificación normal de consultas. En su lugar, construyen un escaneo de índice donde los límites del índice son especificados explícitamente por los valores dados en $min y $max.

Advertencia

Si uno de los dos límites no se especifica, el plan del query será una exploración de índice que no está delimitada en un lado. Esto puede degradar el rendimiento en comparación con una query que no contenga ninguno de los operadores, o una que use ambos operadores para restringir más rigurosamente el escaneo del índice.

Los siguientes ejemplos utilizan mongosh envoltorios.

Considera las siguientes operaciones en una colección llamada collection que tiene un índice { age: 1 }:

db.collection.find().min( { age: 20 } ).hint( { age: 1 } )

Esta operación limita la consulta a aquellos documentos donde el campo age es al menos 20 y fuerza un plan de consulta que escanea el { age: 1 } índice desde 20 hasta MaxKey.

Puede utilizar $min junto con para limitar los resultados $max a un rango específico para el mismo índice, como en el siguiente ejemplo:

Nota

A partir de MongoDB 4.0, el límite especificado por $max debe ser superior al límite especificado por $min.

db.collection.find().min( { age: 20 } ).max( { age: 25 } ).hint( { age: 1 } )

Volver

$maxTimeMS

En esta página