Docs Menu
Docs Home
/ /
Cursors

cursor.min()

cursor.min()

Importante

Método mongosh

Este es un método.mongosh Esta no es la documentación de Node.js ni de otros métodos de controlador específicos del lenguaje de programación.

En la mayoría de los casos, los métodos funcionan de la misma manera que losmongosh heredados. mongo Métodos de shell. Sin embargo, algunos métodos heredados no están disponibles mongosh en.

Para obtener la documentación del shell heredado, consulte la documentación de la versión correspondiente de MongoDB mongo Server:

Para los controladores de la API de MongoDB, consultar la documentación específica del controlador de MongoDB para cada lenguaje.

Especifica el límite inferior inclusivo para un índice específico con el fin de restringir los resultados find() de. proporciona una manera de especificar límites inferiores en índices de clavesmin() compuestas.

El método min() tiene el siguiente parámetro:

Parameter
Tipo
Descripción

indexBounds

Documento

El límite inferior inclusivo para las claves de índice.

El parámetro indexBounds tiene la siguiente forma de prototipo:

{ field1: <min value>, field2: <min value2>, fieldN:<min valueN> }

Nota

Uso del índice

Para utilizar un índice con el métodomax(), debe utilizar el métodohint()para especificar el índice que desea utilizar, excepto cuando la consultafind()es una condición de igualdad en el campo _id.

Tip

min() existe principalmente para soportar el proceso, y es un contenedor de shell alrededor del modificador mongos de $min consulta.

Nota

Obsoleto desde v3.2

A partir de la versión3.2, el operador $min está obsoleto en mongosh. En mongosh, use cursor.min() en su lugar.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

Debido a que min() requiere un índice en un campo, y obliga a la query a usar este índice, es posible que prefiera el operador $gte para la query si es posible. Considera el siguiente ejemplo:

db.products.find( { $in: [ 6, 7 ] } ).min( { price: NumberDecimal("1.39") } ).hint( { price: 1 })

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

Si utiliza min() con para especificar un max() 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.

Los operadores$miny$maxindican que el sistema debe evitar la planificación normal de consultas. En su lugar, construyen un escaneo de índice cuyos límites se especifican explícitamente mediante los valores dados en$miny$max.

Advertencia

Si no se especifica uno de los dos límites, el plan de consulta consistirá en un escaneo de índice sin límites en un lado. Esto puede reducir el rendimiento en comparación con una consulta que no contenga ningún operador o que utilice ambos para restringir con mayor precisión el escaneo de índice.

A menos que la consulta sea una condición de igualdad en find() el _id { _id: <value> }campo, debe especificar explícitamente el índice con el método hint() para min() ejecutar.

Para los ejemplos siguientes, cree una colección de muestra denominada products que contenga los siguientes documentos:

db.products.insertMany([
{ "_id" : 1, "item" : "apple", "type" : "honey crisp", "price" : NumberDecimal("1.99") },
{ "_id" : 2, "item" : "apple", "type" : "fuji", "price" : NumberDecimal("1.99") },
{ "_id" : 3, "item" : "apple", "type" : "jonagold", "price" : NumberDecimal("1.29") },
{ "_id" : 4, "item" : "apple", "type" : "jonathan", "price" : NumberDecimal("1.29") },
{ "_id" : 5, "item" : "apple", "type" : "mcintosh", "price" : NumberDecimal("1.29") },
{ "_id" : 6, "item" : "apple", "type" : "cortland", "price" : NumberDecimal("1.29") },
{ "_id" : 7, "item" : "orange", "type" : "cara cara", "price" : NumberDecimal("2.99") },
{ "_id" : 9, "item" : "orange", "type" : "satsuma", "price" : NumberDecimal("1.99") },
{ "_id" : 8, "item" : "orange", "type" : "valencia", "price" : NumberDecimal("0.99") },
{ "_id" : 10, "item" : "orange", "type" : "navel", "price" : NumberDecimal("1.39") }
])

Crea los siguientes índices para la colección:

db.products.createIndexes( [
{ "item" : 1, "type" : 1 },
{ "item" : 1, "type" : -1 },
{ "price" : 1 }
] )
  • Usando el orden del { item: 1, type: 1 } índice, min() limita la consulta a los documentos que están en o por encima del límite de la clave del índice de item igual a apple y type igual jonagold a, como en lo siguiente:

    db.products.find().min( { item: 'apple', type: 'jonagold' } ).hint( { item: 1, type: 1 } )

    La query devuelve los siguientes documentos:

    { "_id" : 3, "item" : "apple", "type" : "jonagold", "price" : NumberDecimal("1.29") }
    { "_id" : 4, "item" : "apple", "type" : "jonathan", "price" : NumberDecimal("1.29") }
    { "_id" : 5, "item" : "apple", "type" : "mcintosh", "price" : NumberDecimal("1.29") }
    { "_id" : 7, "item" : "orange", "type" : "cara cara", "price" : NumberDecimal("2.99") }
    { "_id" : 10, "item" : "orange", "type" : "navel", "price" : NumberDecimal("1.39") }
    { "_id" : 9, "item" : "orange", "type" : "satsuma", "price" : NumberDecimal("1.99") }
    { "_id" : 8, "item" : "orange", "type" : "valencia", "price" : NumberDecimal("0.99") }
  • Usando el orden del { price: 1 } índice, limita la consulta a los documentos que están en o por encima del límitemin() de la clave del índice price igual a 1.39 y limita la consulta a los documentos que están por debajo del límite de la clave max() del índice price igual 1.99 a:

    Nota

    El límite especificado por debe ser mayor que el límite max() especificado min() por.

    db.products.find().min( { price: NumberDecimal("1.39") } ).max( { price: NumberDecimal("1.99") } ).hint( { price: 1 } )

    La query devuelve los siguientes documentos:

    { "_id" : 10, "item" : "orange", "type" : "navel", "price" : NumberDecimal("1.39") }

Volver

cursor.maxTimeMS

En esta página