Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Menu Docs
Página inicial do Docs
/ /

defaultMaxTimeMS

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 de nó de analítica, você deverá especificar um tempo limite para essas queries no nível de operação usando. Se você não especificar um tempo limite de operação, essas queries usarão maxTimeMS() o defaultMaxTimeMS tempo limite 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" : 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.

Voltar

changeStreamOptions

Nesta página