Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

defaultMaxTimeMS

Nesta página

  • Definição
  • Controle de acesso
  • Sintaxe
  • Comportamento
  • Queries de longa duração
  • Exemplo
  • Resultados
defaultMaxTimeMS

Novidades na versão 8.0.

Disponível para mongod e mongos.

Especifica um limite de tempo padrão em milissegundos para que as operações de leitura individual sejam concluídas. 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 .

Se o seu sistema precisar executar queries longas, como queries denó de analítica , você deverá especificar um tempo limite para essas queries no nível de operação usando maxTimeMS(). Se você não especificar um tempo limite de operação, essas queries usarão o tempo limite defaultMaxTimeMS e não serão executadas durante o tempo necessário.

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" : NumberLong(5000)
}
],
"ok" : 1,
"$clusterTime" : {
"clusterTime" : Timestamp(1712161244, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(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.

Voltar

changeStreamOptions