Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

defaultMaxTimeMS

defaultMaxTimeMS

Novidades na versão 8.0.

mongod

Especifica um limite de tempo padrão em todo o cluster em milissegundos para a conclusão de cada operação de leitura individual. Se uma query especificar uma opção maxTimeMS(), esse valor substituirá o valor defaultMaxTimeMS.

defaultMaxTimeMS aplica-se às seguintes operações de leitura:

Para modificar os parâmetros do cluster, você deve se autenticar como um usuário que tenha uma das seguintes roles:

Para configurar o defaultMaxTimeMS para seu sistema, execute o seguinte comando no banco de dados do admin :

db.adminCommand(
{
setClusterParameter: {
defaultMaxTimeMS: { readOperations: <value> }
}
}
)

Para visualizar o valor atual de defaultMaxTimeMS, execute o seguinte comando no banco de banco de dados do admin :

db.adminCommand( { getClusterParameter: "defaultMaxTimeMS" } )

Por padrão, defaultMaxTimeMS.readOperations é 0, o que significa que nenhum tempo limite de query padrão está definido. Se não houver um tempo limite de query padrão, a query será executada até retornar um resultado ou falhar.

Se uma query especificar uma opção maxTimeMS() , esse valor substituirá o valor defaultMaxTimeMS .

Observação

defaultMaxTimeMS aplica-se apenas a operações de leitura.

Agregações que incluem o $out ou $merge estágios executam operações de gravar, portanto, não estão sujeitos a defaultMaxTimeMS. O valor de maxTimeMS() ainda se aplica a essas agregações.

If your deployment needs to run long queries, such as analytics node queries, you must specify a timeout for those queries at the operation level using maxTimeMS(). If you don't specify an operation timeout, those queries use the defaultMaxTimeMS timeout, and won't run for the required amount of time.

O comando a seguir define o tempo limite padrão da query 5000 milissegundos:

db.runCommand( {
setClusterParameter: {
defaultMaxTimeMS: { readOperations: 5000 }
}
} )

Para verificar o valor de defaultMaxTimeMS, execute o seguinte comando:

db.adminCommand( { getClusterParameter: "defaultMaxTimeMS" } )
{
"clusterParameters" : [
{
"_id" : "defaultMaxTimeMS",
"clusterParameterTime" : Timestamp(1711564868, 17),
"readOperations" : Long(5000)
}
],
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1712161244, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : Long(0)
}
},
"operationTime" : Timestamp(1712161244, 1)
}

Depois de definir defaultMaxTimeMS para seu sistema, considere estas queries:

db.test.find( { name: "Carol" } )
db.test.find( { name: "Carol" } ).maxTimeMS( 8000 )

A primeira query usa o valor defaultMaxTimeMS de 5,000 milissegundos.

A segunda query especifica maxTimeMS(), que substitui defaultMaxTimeMS e faz com que a query atinja o tempo limite após 8,000 milissegundos.