Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$min

$min

Observação

Descontinuado desde a v3.2

A partir de3.2 v, o operador $min mongosh é preterido no . Em ,mongosh use cursor.min() .

Especifique um valor $min para especificar o limite inferior inclusivo para um índice específico a fim de restringir os resultados de find(). O $min especifica o limite inferior para todas as chaves de um índice específico em ordem.

mongosh fornece o método wrapper min() :

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

Você também pode especificar a opção com qualquer um dos dois formatos:

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

Observação

Uso do índice

A partir do MongoDB 4.2, você deve especificar explicitamente o índice específico com o método hint() para executar min()/ $min com a seguinte exceção: você não precisa sugerir se a query find() for uma condição de igualdade no campo _id { _id: <value> }.

Como min() requer um índice em um campo e força a query a usar esse índice, você pode preferir o operador $gte para a query, se possível. Considere o seguinte exemplo:

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

A query usará o índice no campo age, mesmo que o índice em _id possa ser melhor.

Se você usar $max com $min para especificar uma faixa,

  • os limites do índice especificados em $min e $max devem se referir às chaves do mesmo índice.

  • o limite especificado por $max deve ser maior que o limite especificado por $min.

    Alterado na versão 4.0.

Os operadores $min e $max indicam que o sistema deve evitar o planejamento normal de query. Em vez disso, eles constroem uma varredura de índice em que os limites do índice são explicitamente especificados pelos valores fornecidos em $min e $max.

Aviso

Se um dos dois limites não for especificado, o plano de query será uma varredura de índice sem limites em um dos lados. Isso pode prejudicar o desempenho em comparação com uma query que não contém nenhum operador ou uma que usa ambos os operadores para restringir mais fortemente a verificação de índice.

Os exemplos seguintes utilizam wrappers do mongosh .

Considere as seguintes operações em uma collection chamada collection que tem um índice { age: 1 }:

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

Esta operação limita a consulta aos documentos onde o campo age é pelo menos 20 e força um plano de query que verifica o índice { age: 1 } de 20 para MaxKey.

Você pode usar $min em conjunto com $max para limitar os resultados a uma faixa específica do mesmo índice, como no exemplo a seguir:

Observação

A partir do MongoDB 4.0, o limite especificado por $max deve ser maior que o limite especificado por $min.

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

Voltar

$maxTimeMS

Nesta página